Spring中jsp与controller交互数据的六种方式
1、与servlet相似,接受请求发送数据
@RequestMapping("index")
public String index(HttpServletRequest request){
request.setAttribute("msg","嘿嘿嘿");
return "test";
}
2、与第一种类似,只是把HttpServletRequest request换成了分装好的Model类对象
@RequestMapping("index1")
public String index1(Model model){
model.addAttribute("msg","可不是嘛");
return "test";
}
3、获取前端input框里的account和pwd
@RequestMapping("index2")
//@RequestMapping传的参数为空就会报错,如果确实需要传空值 @RequestParam("account",require = “false”) String account
public String index2 (Model model, @RequestParam("account") String account,@RequestParam("pwd") String pwd){
System.out.println(account);
System.out.println(pwd);
model.addAttribute("account",account);
model.addAttribute("pwd",pwd);
return "test";
}
4、与第三种类似简化参数
@RequestMapping("index3")
public String index3 (Model model, String account, String pwd){//此处名字和前端input框的name属性值必须相同
System.out.println(account);
System.out.println(pwd);
model.addAttribute("account",account);
model.addAttribute("pwd",pwd);
return "test";
}
5、再次简化
@RequestMapping("index4")
public String index4 (Model model, LoginModel loginModel){//此处名字和前端input框的name属性值必须相同
System.out.println(loginModel.getAccount());
System.out.println(loginModel.getPwd());
model.addAttribute("account",loginModel.getAccount());
model.addAttribute("pwd",loginModel.getPwd());
return "test";
}
6、继续简化并通过ForEach方法输出数据库里的数据
@Autowired
private ArticleService articleService;
@ResponseBody
@RequestMapping("index5")
public LoginModel index5 (LoginModel loginModel){//映射请求
List<Article> articles = articleService.selectList(new Article());
articles.forEach(e->{
System.out.println(e);
});
System.out.println(loginModel.getAccount());
System.out.println(loginModel.getPwd());
return loginModel;
}
ps:此为本人的学习记录笔记,如有不正确的地方,欢迎指出,谢谢