public class UserConverter3 extends StrutsTypeConverter { @Override public Object convertFromString(Map context, String[] values, Class toClass) { List<User> users = new ArrayList<User>(); for(String value:values){ System.out.println("b"); StringTokenizer st = new StringTokenizer(value,";"); User user = new User(); user.setUsername(st.nextToken()); user.setPassword(st.nextToken()); users.add(user); } System.out.println("a"); return users; } @Override public String convertToString(Map context, Object o) { // TODO Auto-generated method stub return null; } }
public class UserAction2 extends ActionSupport { private List<User> user; public List<User> getUser() { return user; } public void setUsers(List<User> user) { this.user = user; } @Override public String execute() throws Exception { for(User u:user){ System.out.println(u.getUsername()); System.out.println(u.getPassword()); } return SUCCESS; } }
< action name = "UserAction2" class = "struts2.UserAction2"> < result name = "success" >/output.jsp</ result > </ action > |
public void setUsers(List<User> user);
这里多了个s应该是public void setUser(List<User> user);
setUsers改成setUser后没有问题了,你重新部署下看看
< action name = "UserAction2" class = "struts2.UserAction2"> < result name = "success" >/output.jsp</ result > </ action > |