第一种方法
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中用
- <s:property value="OGNL表达式"/> 取值,注意返回结果类型为forward
- <s:property value="name"/>
- <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中用
- <s:property value="#key"/>取值
例如:
- <s:property value="name"/>
- <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" />