日期:2014-05-17  浏览次数:20767 次

菜鸟求助!JSP页面如何向后台action传送实体类
本人新学java,向各位高手求助,如何从前台直接将User对象传给action,我试了好久都没有成功
下面是我做的实验,有一个实体类名字是User

public class User {
private int id;
private String username;
private String password;
        
public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}
}


有一个action叫UserAction,下面是代码

public class UserAction extends ActionSupport {
private User user;
private List<User> users;
        private UserManager um = new UserManager();

public UserAction() {

}

@Override
public String execute() throws Exception {
return "success";
}

public User getUser() {
return user;
}

public void setUser(User user) {
this.user = user;
}

public List<User> getUsers() {
return users;
}

public void setUsers(List<User> users) {
this.users = users;
}

        public String list() {
users = um.getUsers();
return "userList";
}
}



下面是我从jsp页面往action传递实体类User,执行了上面UserAction中的list()方法获得了一个user的集合名字叫users
    <s:iterator value="users" var="user">
     <s:a href="user.action?user=%{#user}"/>
    </s:iterator>
我用的这种方法传实体类,但是老是不成功,希望有高手讲解
------解决方案--------------------
第一种方法:
1,前台是传对象的各个属性,可以全放在一个form里面
2,使用这个form来调用action,利用struts.xml进行控制
3,后台action里面,全部将所得到的属性使用private String ***;然后使用getter与setter方式获取前台的属性
4,这时候,你可以对这些属性进行封装,从而成为user的这个对象

第二种方法就是使用json传送数据到后台,我之前写了个demo,链接如下:
http://download.csdn.net/detail/ganshenml/6971413
希望对你有所帮助!