学科分类
目录
SSM框架

绑定简单数据类型

简单数据类型的绑定,就是指Java中几种基本数据类型的绑定,例如int、String、Double等类型。这里仍然以上一小节中的参数id为1的请求为例,来讲解简单数据类型的绑定。

首先修改控制器类,将控制器类UserController中的selectUser()方法的参数修改为使用简单数据类型的形式,修改后的代码如下:

@RequestMapping("/selectUser")
public String selectUser(Integer id) {
    System.out.println("id="+id);
    return "success";
}

与默认数据类型案例中的selectUser()方法相比,此方法中只是将HttpServletRequest参数类型替换为了Integer类型。

启动项目,并在浏览器中访问地址http://localhost:8080/chapter13/selectUser?id=1,会发现浏览器同样正确跳转到了success.jsp页面,此时再查看控制台打印信息,如图1所示。

图1 运行结果

从图1可以看出,使用简单的数据类型同样完成了数据绑定。

需要注意的是,有时候前端请求中参数名和后台控制器类方法中的形参名不一样,这就会导致后台无法正确绑定并接收到前端请求的参数。为此,Spring MVC提供了@RequestParam注解类型来进行间接数据绑定。

@RequestParam注解类型主要用于对请求中的参数进行定义,在使用时可以指定他的4个属性,具体如表1所示。

表1 @RequestParam注解的属性及说明

属性 说明
value name属性的别名,这里指参数的名字,即入参的请求参数名字,如value=“item_id”表示请求的参数中名字为item_id的参数的值将传入。如果只使用vaule属性,则可以省略value属性名。
name 指定请求头绑定的名称。
required 用于指定参数是否必须,默认是true,表示请求中一定要有相应的参数。
defaultValue 默认值,表示如果请求中没有同名参数时的默认值。

@RequestParam注解的使用非常简单,假设浏览器中的请求地址为http://localhost:8080/chapter13/selectUser?user_id=1,那么在后台selectUser()方法中的使用方式如下:

@RequestMapping("/selectUser")
public String selectUser(@RequestParam(value="user_id")Integer id) {
    System.out.println("id="+id);
    return "success";
}

上述代码会将请求中user_id参数的值1赋给方法中的id形参。这样通过输出语句就可以输出id形参中的值。

点击此处
隐藏目录