首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

关于struts标签遍历list求问解决办法

2013-02-19 
关于struts标签遍历list求问@Overridepublic String execute() throws Exception {Map request (Map)Act

关于struts标签遍历list求问

@Override
public String execute() throws Exception {

Map request = (Map)ActionContext.getContext().get("request");
List<User> list=this.userService.findAll();
/*
 * if(page==null){
page=new Page();
firstOpen();
}
this.pageService.pageValue(list,page);
*/
request.put("list",list);
request.put("page",page);
return SUCCESS;
}

这个发送的list在jsp页面可以得到结果为false
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<% System.out.println(request.getAttribute("page")==null); 
System.out.println(request.getAttribute("list")==null);%>

但是在另外一个action里写的话就取不到数据,结果得到ture
@Override
public String execute() throws Exception {
String message = "No username in us";
Map request = (Map) ActionContext.getContext().get("request");
String session = ServletActionContext.getRequest().getSession().getId();
List<User> u = this.userService.findUserByUsername(this.user);
List<Account> list = new ArrayList<Account>();
if (u!=null)
if (u.get(0).getPassword().equals(this.user.getPassword())) {
list = this.accountService.findUserAccount(u.get(0));
request.put("list",list);
request.put("page",0);
return SUCCESS;
} else message = "password error !!";
request.put("message", message);
return ERROR;
}

这是能成功得到list的struts.xml配置
<package name="ssh2" extends="struts-default">
 
<action name="register" class="saveUserAction">
<result name="success" type="redirect">listUser</result>
</action>
<action name="listUser" class="listUserAction">
<result name="success">/listall.jsp</result>
</action>
<action name="login" class="loginUserAction">
<result name="success" type="redirect">listUser</result>
<result name="error" type="redirect">/error.jsp</result>
</action>
 </package>

这是不能得到结果的struts.xml配置
<package name="ssh2" extends="struts-default">
 
<action name="register" class="saveUserAction">
<result name="success" type="redirect">listUser</result>
</action>
<action name="listUser" class="listUserAction">
<result name="success">/listall.jsp</result>
</action>
<action name="login" class="loginUserAction">
<result name="success" type="redirect">/listall.jsp</result>
<result name="error" type="redirect">/error.jsp</result>
</action>
 </package>


用的是struts+spring+hibernate
要怎么样写才能得到传过去的list啊

[解决办法]
引用:
<action name="register" class="saveUserAction">
        <result name="success" type="redirect">listUser</result>


</action>的type="redirect"改成type="chain"。redirect的作用是重定向,会清除掉传输的数据。
     ……


用的是注解吗?
你所有的<action>都没有绑定方法
<action name="userLogin" class="userAction" method="userLogin">

热点排行