现在的位置: 首页 > 综合 > 正文

action 传递 List 给 JSP

2013年12月14日 ⁄ 综合 ⁄ 共 1435字 ⁄ 字号 评论关闭

 

 

 
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" /> 这个可以
【上篇】
【下篇】

抱歉!评论已关闭.