小弟刚学struts2.0public class UserAction extends ActionSupport {
/**
 * 
 */
private static final long serialVersionUID = 1L; private String userid; private String username; private String password; UserServiceImpl service = new UserServiceImpl(); public String login() throws Exception {
List<User> userList = service.login(username, password);
if (userList.size() ==1) {
return "suc";
} else {
return "fal";
}
}

public List showUser() throws Exception{
List userList = new ArrayList();
userList  =   service.showUser();
return userList;
} public String getPassword() {
return password;
} public void setPassword(String password) {
System.out.println("password:" + password);
this.password = password;
} public String getUserid() {
return userid;
} public void setUserid(String userid) {
System.out.println(userid);
this.userid = userid;
} public String getUsername() {
return username;
} public void setUsername(String username) {
System.out.println("username:" + username);
this.username = username;
}我做跳转和1.x是一样的,但action里用什么存放对象呢?

解决方案 »

  1.   

    啥意思?不明白lz意思,不过觉得你这里有个小问题
        public String login() throws Exception {
            List<User> userList = service.login(username, password);
            if (userList.size() ==1) {
                return "suc";
            } else {
                return "fal";
            }
        }
    这里不报个错?
    一般这样写好点,有个默认值
        public String login() throws Exception {
            List<User> userList = service.login(username, password);
            if (userList.size() ==1) {
                return "suc";
            }        return "fal";
        }
      

  2.   


        public List showUser() throws Exception{
            List userList = new ArrayList();
            userList  =   service.showUser();
            return userList;
        }
    怎么把list传到相应的页面上?本人菜鸟不要笑
      

  3.   

    当然不报错啦,肯定会return的啦
      

  4.   


    public class UserAction extends ActionSupport {
        /**
         * 
         */
        private static final long serialVersionUID = 1L;    private String userid;    private String username;    private String password; private String msg;
    private List userList;    UserServiceImpl service = new UserServiceImpl();    public String login() throws Exception {
            List<User> userList = service.login(username, password);
            if (userList.size() ==1) {
                msg "suc";
            } else {
                msg "fal";
            }
    return SUCCESS;    }
        
        public String showUser() throws Exception{
            userList  =   service.showUser();
            return SUCCESS;
        }    public String getPassword() {
            return password;
        }    public void setPassword(String password) {
            System.out.println("password:" + password);
            this.password = password;
        }    public String getUserid() {
            return userid;
        }    public void setUserid(String userid) {
            System.out.println(userid);
            this.userid = userid;
        }    public String getUsername() {
            return username;
        }    public void setUsername(String username) {
            System.out.println("username:" + username);
            this.username = username;
        }
    }
      

  5.   

    页面上引用domain中的值不是用ongl的吗?
      

  6.   

    页面上就用struts标签啊,可以把List的内容显示出来
      

  7.   

    yes struts2 action中的get set 方法把值都放在值栈中了 页面用ognl就可以了
      

  8.   

    呵呵,小意思
    你在execute()方法中调用刚才的那个方法,然后将返回值保存到作用域中
    比如保存到request.put("list",list);中了
    在页面中就可以使用#request.list得到那个list了
    如果你的这个list在action是一个成员变量而且提供了getter和setter的话你可以直接在页面中使用
      

  9.   

    在jsp页面中用<s:iterator value="userList" status="state">...</s:iterator>迭代取userList中的值。
      

  10.   

    在action中定义一个list对象
    相应的get set方法
    然后在action  excute()方法中得到需要list值
    这样就可以直接到jsp页面中用
    <s:iterator value="list" id="">迭代list了
      

  11.   

    用C标签也可以循环的输出只需要把返回的值放入到set属性中。。