springmvc请求参数获取的几种方法

来源:互联网 发布:安卓手机助手 for mac 编辑:程序博客网 时间:2024/06/05 20:40

1、直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交。

复制代码
    /**     * 1.直接把表单的参数写在Controller相应的方法的形参中      * @param username     * @param password     * @return     */    @RequestMapping("/addUser1")    public String addUser1(String username,String password) {        System.out.println("username is:"+username);        System.out.println("password is:"+password);        return "demo/index";    }
复制代码

url形式:http://localhost/SSMDemo/demo/addUser1?username=lixiaoxi&password=111111 提交的参数需要和Controller方法中的入参名称一致。

2、通过HttpServletRequest接收,post方式和get方式都可以。

复制代码
    /**     * 2、通过HttpServletRequest接收      * @param request     * @return     */    @RequestMapping("/addUser2")    public String addUser2(HttpServletRequest request) {        String username=request.getParameter("username");        String password=request.getParameter("password");        System.out.println("username is:"+username);        System.out.println("password is:"+password);        return "demo/index";    }
复制代码

3、通过一个bean来接收,post方式和get方式都可以。
(1)建立一个和表单中参数对应的bean

复制代码
package demo.model;public class UserModel {        private String username;    private String password;    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    }
复制代码

(2)用这个bean来封装接收的参数

复制代码
    /**     * 3、通过一个bean来接收      * @param user     * @return     */    @RequestMapping("/addUser3")    public String addUser3(UserModel user) {        System.out.println("username is:"+user.getUsername());        System.out.println("password is:"+user.getPassword());        return "demo/index";    }
复制代码

4、通过@PathVariable获取路径中的参数

复制代码
    /**     * 4、通过@PathVariable获取路径中的参数      * @param username     * @param password     * @return     */    @RequestMapping(value="/addUser4/{username}/{password}",method=RequestMethod.GET)
public String addUser4(@PathVariable String username,@PathVariable String password) { System.out.println("username is:"+username); System.out.println("password is:"+password); return "demo/index"; }
复制代码

例如,访问http://localhost/SSMDemo/demo/addUser4/lixiaoxi/111111 路径时,则自动将URL中模板变量{username}和{password}绑定到通过@PathVariable注解的同名参数上,即入参后username=lixiaoxi、password=111111。
5、使用@ModelAttribute注解获取POST请求的FORM表单数据
Jsp表单如下:

复制代码
<form action ="<%=request.getContextPath()%>/demo/addUser5" method="post">      用户名:&nbsp;<input type="text" name="username"/><br/>&nbsp;&nbsp;码:&nbsp;<input type="password" name="password"/><br/>     <input type="submit" value="提交"/>      <input type="reset" value="重置"/> </form> 
复制代码

Java Controller如下:

复制代码
    /**     * 5、使用@ModelAttribute注解获取POST请求的FORM表单数据      * @param user     * @return     */    @RequestMapping(value="/addUser5",method=RequestMethod.POST)    public String addUser5(@ModelAttribute("user") UserModel user) {        System.out.println("username is:"+user.getUsername());        System.out.println("password is:"+user.getPassword());        return "demo/index";    }
复制代码

6、用注解@RequestParam绑定请求参数到方法入参

当请求参数username不存在时会有异常发生,可以通过设置属性required=false解决,例如: @RequestParam(value="username", required=false)

复制代码
    /**     * 6、用注解@RequestParam绑定请求参数到方法入参      * @param username     * @param password     * @return     */    @RequestMapping(value="/addUser6",method=RequestMethod.GET)    public String addUser6(@RequestParam("username") String username,@RequestParam("password") String password) {        System.out.println("username is:"+username);        System.out.println("password is:"+password);        return "demo/index";    }
复制代码



来源:http://www.cnblogs.com/xiaoxi/p/5695783.html

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 萍果平板锁机怎么办? 苹果6开机卡死怎么办 辐射4发夹用完了怎么办 辐射4多的武器怎么办 大姨妈恶心想吐怎么办 玩完游戏想吐怎么办 玩完了海盗船想吐怎么办 戴眼镜恶心想吐怎么办 玩电脑恶心想吐怎么办 玩游戏玩的头疼怎么办 玩游戏头疼想吐怎么办 游戏玩久了头疼怎么办 有3d眩晕症怎么办 玩游戏晕3d怎么办 梦幻西游亏的钱怎么办 普惠卡销户了钱存进去了怎么办 梦幻西游现金变储备了怎么办 孩子挣了钱存不下怎么办 电脑显示副本不是正版怎么办 斗战神师徒一个人删除角色怎么办 起业kx5防盗器不响怎么办 灌浆记录仪存盘满了怎么办 自首后发现无罪证据怎么办 中国劲酒过期了怎么办 玻尿酸流到眼皮怎么办 手指被胶带缠紫了怎么办 打玻尿酸不平整怎么办 孩子被老师体罚我该怎么办 孩子妈妈入狱了我该怎么办 机顶盒电视收不到台怎么办 跳芭蕾舞下面硬起来了怎么办 深情密码结局赵深深怎么办 宝宝头着地摔了怎么办 小孩头着地摔了怎么办 头朝下墩了脖子怎么办 两岁摔倒头着地怎么办 马桶大便冲不下去怎么办 脚丫吧里起泡痒怎么办 脚受伤后肿了怎么办 摔到了腿受伤了怎么办 骑车摔倒了肿了怎么办