SpringMVC——接收请求参数和页面传参
来源:互联网 发布:java接收安卓上传图片 编辑:程序博客网 时间:2024/05/16 04:35
转自:http://blog.csdn.net/z69183787/article/details/41653875
Spring接收请求参数:
1,使用HttpServletRequest获取
- @RequestMapping("/login.do")
- public String login(HttpServletRequest request){
- String name = request.getParameter("name")
- String pass = request.getParameter("pass")
- }
2,Spring会自动将表单参数注入到方法参数,和表单的name属性保持一致。和Struts2一样
- @RequestMapping("/login.do")
- public String login(HttpServletRequest request,
- String name,
- @RequestParam("pass")String password) // 表单属性是pass,用变量password接收
- {
- syso(name);
- syso(password)
- }
3,自动注入Bean属性
- <form action="login.do">
- 用户名:<input name="name"/>
- 密码:<input name="pass"/>
- <input type="submit" value="登陆">
- </form>
- //封装的User类
- public class User{
- private String name;
- private String pass;
- }
- @RequestMapping("/login.do")
- public String login(User user)
- {
- syso(user.getName());
- syso(user.getPass());
- }
向页面传值:
当Controller组件处理后,向jsp页面传值,
1,使用HttpServletRequest 和 Session 然后setAttribute(),就和Servlet中一样
2,使用ModelAndView对象
3,使用ModelMap对象
4,使用@ModelAttribute注解
Model数据会利用HttpServletRequest的Attribute传值到success.jsp中
- @RequestMapping("/login.do")
- public ModelAndView login(String name,String pass){
- User user = userService.login(name,pwd);
- Map<String,Object> data = new HashMap<String,Object>();
- data.put("user",user);
- return new ModelAndView("success",data);
- }
使用ModelMap参数对象示例:
ModelMap数据会利用HttpServletRequest的Attribute传值到success.jsp中
- @RequestMapping("/login.do")
- public String login(String name,String pass ,ModelMap model){
- User user = userService.login(name,pwd);
- model.addAttribute("user",user);
- model.put("name",name);
- return "success";
- }
使用@ModelAttribute示例
在Controller方法的参数部分或Bean属性方法上使用
@ModelAttribute数据会利用HttpServletRequest的Attribute传值到success.jsp中
- @RequestMapping("/login.do")
- public String login(@ModelAttribute("user") User user){
- //TODO
- return "success";
- }
- @ModelAttribute("name")
- public String getName(){
- return name;
- }
Session存储:
可以利用HttpServletReequest的getSession()方法
- @RequestMapping("/login.do")
- public String login(String name,String pwd
- ModelMap model,HttpServletRequest request){
- User user = serService.login(name,pwd);
- HttpSession session = request.getSession();
- session.setAttribute("user",user);
- model.addAttribute("user",user);
- return "success";
- }
Spring MVC 默认采用的是转发来定位视图,如果要使用重定向,可以如下操作
1,使用RedirectView
2,使用redirect:前缀
- public ModelAndView login(){
- RedirectView view = new RedirectView("regirst.do");
- return new ModelAndView(view);
- }
或者用如下方法,工作中常用的方法:
- public String login(){
- //TODO
- return "redirect:regirst.do";
- }
- SpringMVC——接收请求参数和页面传参
- SpringMVC——接收请求参数和页面传参
- SpringMVC——接收请求参数和页面传参
- SpringMVC——接收请求参数和页面传参
- SpringMVC——接收请求参数和页面传参
- SpringMVC——接收请求参数和页面传参
- SpringMVC——接收请求参数和页面传参
- SpringMVC——接收请求参数和页面传参
- SpringMVC——接收请求参数和页面传参
- SpringMVC——接收请求参数和页面传参
- SpringMVC——接收请求参数和页面传参
- SpringMVC——接收请求参数和页面传参
- SpringMVC——接收请求参数和页面传参
- SpringMVC——接收请求参数和页面传参
- SpringMVC——接收请求参数和页面传参
- SpringMVC——接收请求参数和页面传参
- SpringMVC——接收请求参数和页面传参
- SpringMVC——接收请求参数和页面传参
- Android 和 ios都能够和javascript交互了!!!
- <IMG>标签的方方面面
- 正则:正则表达式在js中的高级应用
- 法雷数列浅谈
- OC面向对象三大特征总结
- SpringMVC——接收请求参数和页面传参
- SQL基础(一八)--- 数据分组与聚合函数
- 対「イスラム国」―国際包囲網に本腰を
- django 提示Site matching query does not exist. 以及创建admin账号
- 初探NO.1—逻辑回归学习的前前后后2
- 输入若干个自然数,对奇数从大到小排列,对偶数从小到大排列,输出两种结果。
- IO - 同步,异步,阻塞,非阻塞
- code review
- hihoCoder - 1062 - 最近公共祖先·一 (树的最近公共祖先问题!)