您的位置:首页 > 编程语言 > Java开发

Spring mvc 中的一些注解 (1)

2017-01-01 18:49 405 查看
最近工作中要涉及到spring mvc框架,所以将所学习的记录下

sprng mvc 的搭建就不说了这里就提下会用到的注解

@Controller

类级别上的注解。我们定义的类可以只是一个 javabean,不需要实现任何接口。标注了 @Controller,借助 ,框架能自动识别到这就是一个 Controller

@RequestMapping

映射请求的url,返回值会经过试图解析器解析为实际的物理视图

可以在类上或者方法上使用,映射方式为 视图解析器配置的prefix+类上的requestmapping的value+方法上的requestmapping的value+视图解析器配置的suffix

@RequestMapping 下method 参数:

method=RequestMethod.POST 可以限定请求方法,左边例子中只有POST请求才能被正确映射

@RequestMapping 下headers,params 参数:

用来更准确的映射请求

@RequestMapping(value="/testparam",params={"username","age!=10"},headers={"User-Agent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/51.0"},method=RequestMethod.POST)


以上例子中只有满足参数带有username,age不等于10,请求头中User-Agent等于后面的value的时候才会被正确映射

@PathVariable

/**
* 通过占位符可以获得url中的传入的参数
* @param id
* @return
*/
@RequestMapping(value="testvariable/{id}")
public String testVariable(@PathVariable(value="id")  Integer id){
System.out.println("pathVariable:" +id);
return HELLO;
}


请求这么写

<a href="springmvc/testvariable/5">testvariable</a>


这样就可以获得id的值 为 5

@RequestParam

此注解可以获得请求参数,用法如下:

@RequestMapping(value="/testrequestparam")
public String testRequestParam(@RequestParam(value="username") String username,
@RequestParam(value="age",required=false) Integer age){

System.out.println("username: "+username+"   age: "+age);
return HELLO;
}


注意点最好使用对象类型,如果age使用int的话就会报错,不过可以通过设置defaultValue来消除错误,但建议使用对象类型

required 参数是是否必须有这个参数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: