一、可以在业务控制方法中,以参数形式收集客户端参数,springmvc采用方法参数形式的
@RequestMapping(value="/user")
public class UserAction{
@RequestMapping(value="/add")
public String add(Model model,int id,String name,Double sal) throws Exception{
System.out.println(id + ":" + name + ":" + sal);
return "/test.jsp";
}
}
二、可以在业务控制方法中书写0个或多个模型来收集客户端的参数
1) 如果多个模型中有相同的属性时,可以用user.name(jsp页面的name属性值)或admin.name来收集客户端参数
2) 用一个新的模型将User和Admin再封装一次
public class Bean {
private User user;
private Admin admin;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public Admin getAdmin() {
return admin;
}
public void setAdmin(Admin admin) {
this.admin = admin;
}
}
3)controller中的方法
@Controller
@RequestMapping(value = "/person")
public class PersonAction {
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String add(Bean bean,Model model) throws Exception {
System.out.println(bean.getUser());
System.out.println(bean.getAdmin());
System.out.println("PersonAction::add()::POST");
model.addAttribute("bean",bean);
return "/test.jsp";
}
}
4)jsp页面回显时value的值value="${bean.user.name}",value="${bean.admin.name}"
三、springmvc用数组接受传过来的参数,页面的name属性必须一样
(name =“ids”)
@Controller
@RequestMapping(value="/user")
public class UserAction {
@RequestMapping(value="/delete")
public String deleteMethod(int[] ids,Model model) throws Exception{
for(int id : ids){
System.out.print(id+" ");
}
return "/test.jsp";
}
}
四、在业务控制方法中收集List参数
@Controller
@RequestMapping(value="/user")
public class UserAction {
@RequestMapping(value="/addAll")
public String addAll(Bean bean,Model model) throws Exception{
for(User user : bean.getUserList()){
System.out.println
(user.getName()+":"+user.getGender());
}
return "/test.jsp";
}
}
1) 用一个新的模型Bean将user再封装一次
public class Bean {
private List<User> userList = new ArrayList<User>();
public List<User> getUserList() {
return userList;
}
public void setUserList(List<User> userList) {
this.userList = userList;
}
}
2)jsp页面的name属性值name=”userList[0].name”;name=”userList[1].name”;name=”userList[1].name”