【将数据存储到session中进行传值】
比如登录成功时,把用户数据存入到session中,这样只要用户进行了操作,就可以去session中取得相应的数据。
ServletActionContext.getRequest().getSession()
.setAttribute("existUser", existUser);
比如把查询出的列表数据存入到session中,在页面上显示输出
// 将列表数据存入到Session的范围:
ActionContext.getContext().getSession().put("cList", cList);
//页面从session中获得值,循环显示到页面上
<div class="span24">
<ul class="mainNav">
<li><a href="${ pageContext.request.contextPath }/index.action">首页</a> |</li>
<s:iterator var="c" value="#session.cList">
<li><a href="${ pageContext.request.contextPath }/product_findByCid.action?cid=<s:property value="#c.cid"/>&page=1"><s:property value="#c.cname"/></a> |</li>
</s:iterator>
</ul>
</div>
【保存到值栈中进行传值】
把要显示的信息存入到值栈中,页面通过调用值栈取得信息
// 查询热门商品:
List<Product> hList = productService.findHot();
// 保存到值栈中:
ActionContext.getContext().getValueStack().set("hList", hList);
从值栈中取
<s:iterator var="p" value="nList">
<li>
<a href="${ pageContext.request.contextPath }/product_findByPid.action?pid=<s:property value="#p.pid"/>" target="_blank"><img src="${pageContext.request.contextPath}/<s:property value="#p.image"/>" data-original="http://storage.shopxx.net/demo-image/3.0/201301/4a51167a-89d5-4710-aca2-7c76edc355b8-thumbnail.jpg" style="display: block;"></a>
</li>
</s:iterator>
【保存到数据模型中进行传值】
// 用于接收数据的模型驱动.
private Product product = new Product();
public Product getModel() { //说明Action里面有一个属性model,model就是product
return product;
}
//从数据模型中取值
<div class="name"><s:property value="model.pname"/></div>
【总结】
各种有各种的适用性,当然传值方式并不只这三种,以后遇到再做补充。