SpringMVC 之 后台接收参数 与前台传递数据
来源:互联网 发布:可以看亚丝娜本子软件 编辑:程序博客网 时间:2024/04/30 17:47
1、接收请求参数
1. 使用HttpServletRequest获取
- @RequestMapping("/login.do")
- public String login(HttpServletRequest request){
- String name = request.getParameter("name")
- String pass = request.getParameter("pass")
- }
2. pring会自动将表单参数注入到方法参数,和表单的name属性保持一致。
- @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());
- }
2、向页面传递数据
当Controller组件处理后,向jsp页面传值,
1、使用HttpServletRequest 和 Session 然后setAttribute(),就和Servlet中一样
2、使用ModelAndView对象
3、使用ModelMap对象
4、 使用@ModelAttribute注解
使用ModelAndView示例: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;
- }
3、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";
- }
4、请求重定向
spring MVC 默认采用的是转发来定位视图,如果要使用重定向,可以如下操作
1、使用RedirectView
2、使用redirect:前缀
- public ModelAndView login(){
- RedirectView view = new RedirectView("regirst.do");
- return new ModelAndView(view);
- }
或者用如下方法,工作中常用的方法:
- public String login(){
- return "redirect:regirst.do";
- }
- SpringMVC 之 后台接收参数 与前台传递数据
- SpringMVC之后台接收参数与前台传递数据
- SpringMVC之后台接收参数与前台传递数据
- springmvc 后台接收前台数据
- springMvc前台传数据后台接收
- 前台参数杂乱,后台如何接收数据
- springmvc框架前台传递tree和后台接收
- SpringMVC前台传递数组,后台使用list接收
- 【AJAX】前台与后台的数据传递
- JSP_strut2架构下前台接收后台传递到前台之数据并处理以使用的一种方法
- 前台参数杂乱,后台如何接收数据2
- springMVC 前台传递json格式数据到后台
- SpringMVC 后台接口,使用axios 传递参数接收不到
- Vue传递数据到后台SpringMVC接收解析返回
- SpringMVC中,前台jsp封装参数,绑定参数,传递参数到后台controller的过程详解
- Java Web中前台与后台传递参数小结
- SpringMVC接收前台传递的List集合
- flask前台数据通过ajax传递到后台之点赞与视频播放量
- 在Docker容器中运行Spring Boot应用
- 关系表达式
- mysql数据库基础知识
- 建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中
- R-CNN 简单梳理
- SpringMVC 之 后台接收参数 与前台传递数据
- OC 跳出多层for循环嵌套 goto
- 使用ServletContext对象统计网站的访问量
- Android中getSystemService流程
- TextView之SpannableStringBuilder使用总结
- 2016.11.05 第一篇博客
- Mongodb 忘记密码
- 反向传播算法的直观理解
- js正则笔记