接受前端数据类
@PathVariabl
获取路径中传递参数 ,eg:
1 | "/{id}/{str}") (value = |
@ModelAttribute
获取POST请求的FORM表单数据 。(实际是,不用@ModelAttribute也可以接收到数据)eg:
JSP
1 | <form method="post" action="hao.do"> |
JAVA pojo
1 | public class Pojo{ |
JAVA controller
1 | (method = RequestMethod.POST) |
@RequestParam
get请求。绑定请求参数a到变量a 。
解惑:为何不用这个注解也可以接收到参数,那还加这个注解有什么用。
例1:
1 | "/requestParam", method = RequestMethod.GET) (value = |
例2:
1 | "/requestParam", method = RequestMethod.GET) (value = |
例3:
1 | "/requestParam", method = RequestMethod.GET) (value = |
例4:
1 | "/requestParam", method = RequestMethod.GET) (value = |
例5:
1 | "/requestParam", method = RequestMethod.GET) (value = |
例1和例2都能接受到参数,但是对与例2来说url “/requestParam”的后面一定要有参数,没有会报错;但是例1参数可有可无。
但是例2也可以通过设置required=false来指定不一定要参数(就是例3),就可例1就不行了.
通过设置defaultValue=”0” 可以在没有参数时指定默认值。
通过设置value=”id” 给参数换成其他名字。
当请求参数a不存在时会有异常发生,可以通过设置属性required=false解决,
例如: @RequestParam(value=”a”, required=false)
1 | "/requestParam", method = RequestMethod.GET) (value = |
@RequestMapping
处理请求地址映射的注解。
三类属性:
(1)value、method。前者是url,后者是请求类型post/get/put/delete等。
(2)produces、consumes。前者是只接受请求的规定返回值(accept)是某值的请求,如application/json。后者是只接受请求值是某种类型的值的请求。
(3)params、header。只接受参数/头包含某内容的请求。
eg:
1 |
|
参考:https://www.cnblogs.com/qq78292959/p/3760560.html
spring参数类
@Value
假设有一个test.properties,内容:testname=li
方法1:
在spring的配置文件中配置:
1 | <bean id="testProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> |
或者
1 | <context:property-placeholder location="classpath*:test.properties" ignore-unresolvable="true"/> |
使用,注意类的成员变量name的注解${}里的值就是properties里的key:
1 | 4j |
方法2
在spring中配置:
1 | <bean id="properFactory" class="org.springframework.beans.factory.config.PropertiesFactoryBean"> |
使用,注意类的成员变量name的注解 properFactory是上面spring配置的id testname是properties配置文件里值的key:
1 | 4j |