public class disp extends ActionSupport{ private List <Disp> list; public void setList(List list){ this.list = list; } public void getList(){ return list; } public String execute(){ DispImpl dao = new DispImpl(); list = dao.GetAll(); return SUCCESS; }
<s:iterator id="rv" value="list"> <s:property id="rv" value="content"/> </s:iterator> list里面保存的是个对象,content只是这个对象的属性名而已
Struts2有com.opensymphony.xwork2.ActionContext这么个类
static ActionContext getContext()
Returns the ActionContext specific to the current thread.
Map getParameters()
Returns a Map of the HttpServletRequest parameters when in a servlet environment or a generic Map of parameters otherwise.
还有个ValueStack也可以用
想直接操作request对象可以用org.apache.struts2.ServletActionContext
HttpServletRequest request = ServletActionContext.getRequest();
可以了 jsp <s:iterator value="list"> <s:property value="MenuID"/> </s:iterator> 还是谢谢二楼 奇怪为什么用 <s:iterator value="list"> <s:property value="#menuinfo.MenuID"/> </s:iterator> 取不到呢?
二:
ActionContext.getRequest().put("list", list); <s:iterator value="#request.list"> <s:property value="id" /> </s:iterator>
三:
<s:iterator value="list"> <s:property value="id" /> </s:iterator> 前提: 有成员变量(因为parameterInterceptor自动把成员变量放入valuestack) <s:iterator var="a" value="#list"> <s:property value="#a.id" /> </s:iterator> 都可以. ActionContext.getRequest().put("list", list);这种用法不可取; 没写成员变量的话,用ActionContext.getContext()getValueStack().set("list",list)即可,但是jsp中list前面不要有#
四:日期的格式转换:
<s:date name="birthday" format="yyyy-MM-dd" /> 这个可以