将参数放入SpringMVC中的方法
1、使用HttpServletRequest
@RequestMapping("/index")
public String toIndex(HttpServletRequest request) {
List<user> u = dao.getUser();
request.setAttribute("user", u);
return "index";
}
2、使用ModelMap
public String toIndex(ModelMap map) {
List<user> u = dao.getUser();
map.addAttribute("user", u);
return "index";
}
3、使用ModelAndView
public ModelAndView toindex(ModelMap map) {
List<user> u = dao.getUser();
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("index");
modelAndView.addObject("user", u);
return modelAndView;
}
如何实现转发和重定向?
1、直接return是转发
@RequestMapping("/add")
public String toAdd() {
return "add";
}
2、重定向
@RequestMapping("/doAdd")
public String doAdd(user u) {
dao.add(u);
return "redirect:index";
}
在a标签中传参数的方式举例:
<td><a href="update?loginid=${u.loginid}">修改</a> <a href="dodelete?loginid=${u.loginid} ">删除</a></td>
在Controller中接受参数的方式:
@RequestMapping("/dodelete")
public String doDelete(String loginid) {
// dao.del(Integer.parseInt(id));
dao.del(loginid);
return "redirect:index";
}
把方法中定义的参数名和作用域中定义的一样,可以直接接受参数值
在Controller中接受对象的方式:
<form action="doAdd" method="post">
用户名:<input type="text" name="loginid"><br/>
密码:<input type="password" name="password"><br/>
<input type="submit" value="提交">
</form>
@RequestMapping("/doAdd")
public String doAdd(user u) {
dao.add(u);
return "redirect:index";
}
@Data
public class user {
private Integer id;
private String loginid;
private String password;
}
网页中参数名和javaBean的参数名相同的话,可以直接将参数值传递到Controller中的对象中,如果有参数值未设置,那么那个参数值为null.
(没有使用SpringMVC框架时,接受参数需要使用getParameter()方法)