Spring接收前台表单数据的三种方法

论坛 期权论坛 脚本     
匿名技术用户   2021-1-6 01:51   142   0
一、 提交方式
表单可以通过get/post接口提交,在RequestMapping中不指定method那么get/post都可以访问到,指定 method=RequestMethod.POST则只能通过post方式访问。
二、Controller层获取表单数据的三种方式
1. 在方法签名中添加HttpServletRequest参数,方法中通过HttpServletRequest.getParameter(“x”)方法得到对应的参数
2. 方法签名中使用@RequestParam注解获取表单字段对应的参数,有多少个字段就添加多少个对应的入参。

3. 添加自定义Java类型的对象参数,用来接收表单数据
使用该方式初次看起来写的代码要多,但是对象方式使得维护性高。
@RequestMapping(value="/user/save", method=RequestMethod.POST)  
    public ModelAndView saveUser(User user) {
        StringBuilder sb = new StringBuilder();
        sb.append("用户名:"+user.getUsername());
        sb.append("邮箱:"+user.getEmail());
        sb.append("年龄:"+user.getAge());
        String content = sb.toString();
        return new ModelAndView("/wecome","result",content);
    }
上面代码中,自定义的User对象用来接收表单数据,user中有getUserName,getPassword等方法,获取字段的值。

User类:
    public class User {
        private String username;
        private String password;
        public User() { //必须要有无參构造函数,否则报错
        }
        public User(String username, String password) {
            this.username = username;
            this.password = password;
        }
        //getter setter method...
    }



分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP