@RequestParam 请求参数注解表示被注解的方法参数应该派生自命名请求参数,默认情况下该注解标明这个参数是必须的:
比方说我只传一个NAME值,那么浏览器会报400 的错误。
使用value指定请求参数的名称:
比如说前端:
var NAME=$("#username").val();
var PWD=$("#password").val();
$.ajax({
url:"rpc/check",
data:{NAME:NAME,PWD:PWD},
type: 'POST',
dataType: "json",
success:function(result){
},
error:function(){
alert("操作失败");
return false;
}
});
后台接收值的时候:
@RequestMapping(value="/check")
public void checkNum( @RequestParam(value="NAME")String name,
@RequestParam(value="PWD")String pwd){
System.out.println("NAME="+name);
System.out.println("PWD="+pwd);
}
在@RequestParam 注解中使用value来标明我想接收数据的参数--NAME和PWD
如果是:
@RequestMapping(value="/check")
public void checkNum(String name,
String pwd){
System.out.println("NAME="+name);
System.out.println("PWD="+pwd);
}
很明显,这样是为NULL的。
如果请求参数传过来的值是空的,那么可以通过defaultValue设置他的默认值:
@RequestMapping(value="/check")
public void checkNum( @RequestParam(value="NAME",defaultValue="111")String name,
@RequestParam(value="PWD",defaultValue="222" )String pwd){
System.out.println("name="+name);
System.out.println("pwd="+pwd);
}
这样,当前端传值为空,会有一个默认值输出。