Struct2.0 后台list数据传递到前端jsp面

来源:互联网 发布:乳液推荐 知乎 编辑:程序博客网 时间:2024/05/18 21:07

第一种方法

action:

    List<SysUserGroup> sysUserGroupList = sysUserGroupService.findSysUserGroups(null, null);
        //获取值栈
        ActionContext.getContext().getValueStack()
        .set("sysUserGroupList", sysUserGroupList);

jsp页面:

首先是导入:标签 <%@ taglib prefix="s" uri="/struts-tags"%>

    <s:iterator var="c" value="sysUserGroupList">
            <tr>
                <td>
                  <input type="checkbox" name="ids" value="12" class="checkbox" onClick="changeCheckCount();">
                </td>
                  <td><a href="${pageContext.request.contextPath}/sys/sysUserGroupAction_edit.do"><s:property value="#c.name"/></a></td>
                <td><s:property value="#c.principal"/></td>
                <td><s:property value="#c.incumbent"/></td>
                <td><a href="javascript:OpenWin('${pageContext.request.contextPath}/sys/group/usersInGroup.jsp?id=12')">设置</a></td>
            </tr>
        </s:iterator>

第二种方法

使用一些Servlet API进行值的存取操作:HttpServletRequest、HttpSession和ServletContext。Struts2对这个三个对象用Map进行了封装,我们就可以使用Map对象来存取数据了。

ServletActionContext.getRequest().getSession().setAttribute("user""张三"); 

jsp页面接收

session.getAttribute("user");

HttpServletRequest request=ServletActionContext.getRequest()request.setAttribute("c2", "test5");
Action 往浏览器界面传递参数:

方式有三种:

1)种:直接给Action 属性(有get/set方法)赋值 ,JSP中用

  1. <s:property value="OGNL表达式"/> 取值,注意返回结果类型为forward  
例如:
  1. <s:property value="name"/>  
  2. <s:property value="user.name"/>  

     2)种:通过ActionContext传值,在Action中所调用的方法中加入:

            

<p><span style="font-family:Arial,Helvetica,sans-serif;line-height:22px; white-space:normal"><span class="typ">                      ActionContext</span><span class="pun">.</span><span class="pln">getContext</span><span class="pun">().</span><span class="pln">put</span><span class="pun">(</span></span><span style="font-family:Arial,Helvetica,sans-serif;line-height:22px; white-space:normal"><span class="str">"key"</span></span><span style="font-family:Arial,Helvetica,sans-serif;line-height:22px; white-space:normal"><span class="pun">,</span><span class="pln"> </span></span><span style="font-family:Arial,Helvetica,sans-serif;line-height:22px; white-space:normal"><span class="str">"value"</span></span><span style="font-family:Arial,Helvetica,sans-serif;line-height:22px; white-space:normal"><span class="pun">);</span><span class="pln">  </span></span></p>

      JSP中用

  1.  <s:property value="#key"/>取值 

    例如:

  1. <s:property value="name"/>  
  2. <s:property value="user.name"/>

    3  )种:通过request、session 传值。Action方法中通过取得HttpServletRequest 、HttpSession 和 Map对象设置值,

<span class="typ">                   ServletActionContext</span><span class="pun">.</span><span class="pln">getRequest</span><span class="pun">().</span><span class="pln">setAttribute</span><span class="pun">(</span><span class="str">"arg0"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"value"</span><span class="pun">);</span><span class="pln">  </span><span class="typ">                   ServletActionContext</span><span class="pun">.</span><span class="pln">getRequest</span><span class="pun">().</span><span class="pln">getSession</span><span class="pun">().</span><span class="pln">setAttribute</span><span class="pun">(</span><span class="str">"arg0"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"value"</span><span class="pun">);</span><span class="pln">  </span><span class="typ">                  ActionContext</span><span class="pun">.</span><span class="pln">getContext</span><span class="pun">().</span><span class="pln">getSession</span><span class="pun">().</span><span class="pln">put</span><span class="pun">(</span><span class="str">"key"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"value"</span><span class="pun">);</span><span class="pln"> </span>

例如:

jsp页面

获取requets范围的值

<s:property value="#request.requeName" />


0 0
原创粉丝点击