关于struts2中关于值栈的总结

来源:互联网 发布:标题优化 编辑:程序博客网 时间:2024/04/28 01:15

值栈可细分为对象栈list和map栈

1.导入标签库

<%@taglib uri="/struts-tags" prefix="s"%>

2.查看值栈

<s:debug/>

3.通过ActionContext.put(key,value);方法来将所要存的值放到值栈中(方法A)

  通过request对象来存放,( implements ServletRequestAware并实现方法,来在action中获取request对象)request.setAttribute(key,value);(方法B)

  ActionContext.getContext().getValueStack().getRoot().add(index,value);(方法C)

4.获取参数

一.<s:iterator value="#list or #index">
                <s:iterator value="top"(-可写可不写,默认就是top-)>
                        <s:property value="key"/>
                        <s:property value="value.username"/(-如果value是对象则可以用value.对象属性名来获取参数-)>
                </s:iterator>
 </s:iterator>

二.<s:iterator value="#request.key" var="如果为list可以在var中写list存放的参数,例如对象">如下:

<s:iterator value="#request.list" var="user">
                <tr>
                    <td><s:property value="#user.userId" /></td>
                    <td><s:property value="#user.username" /></td>
                    <td><s:property value="#user.password" /></td>
                    <td>

(list中放map嵌套)

request,session,application都在map栈中

可以将对象放入栈中

ognl表达式访问栈中的内容

如果一个对象在request中则通过

#request.对象的key值属性

如果一个对象直接放到值栈中

#对象的key值.属性

Struts ValueStack Debug

Value Stack Contents

ObjectProperty NameProperty Valuefeng.action.UserActiontextsnullapplicationnullactionErrors[]errors{}fieldErrors{}errorMessages[]sessionorg.apache.catalina.session.StandardSessionFacade@3051fa1drequestorg.apache.struts2.dispatcher.StrutsRequestWrapper@55fb9eb3localezh_CNactionMessages[]servletRequestThere is no read method for servletRequestuserservicefeng.serviceImpl.UserServiceImpl@6b6237fdcom.opensymphony.xwork2.DefaultTextProvidertextsnull
0 0
原创粉丝点击