1.RestMapping注解的参数:
-
path, value : 作用一样,表示路径,只有一个属性时可以省略。
-
method:设置请求方法。例如 method={RequestMethod.POST} 表示只接收POST请求。
-
params:用于指定限制请求参数的条件。它支持简单的表达式。要求请求参数的key和value必须和配置的一模一样。
例如:params ={“accountName”},表示请求参数必须有accountName params ={“moeny!100”},表示请求参数中money不能是100. -
headers:用于指定限制请求消息头的条件。
2.请求参数绑定
- 在web.xml中配置解决中文乱码的过滤器
<!--中文乱码的过滤器-->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
- 在controller的方法参数加入对应参数
如: get链接为 hello?name=tom 则
@RequestMapping("/hello")
public String hello(String name) {
System.out.println("name:"+name);
}
- 参数包含JavaBean时:
提交的表单name要和JavaBean的属性名保持一致
JavaBean的属性:
private String name;
private Integer age;
表单:
<form action="controller/hello" method="post">
账号:<input type="text" name="zh"><br/>
密码:<input type="text" name="password"><br/>
姓名:<input type="text" name="name"><br/>
年龄:<input type="text" name="age"><br/>
<input type="submit" value="submit"><br/>
</form>
- 参数的JavaBean属性包含JavaBean时:
JavaBean的属性:
private String zh;
private String password;
private User user;
User的属性:
private String name;
private Integer age;
表单:
<form action="controller/hello" method="post">
账号:<input type="text" name="zh"><br/>
密码:<input type="text" name="password"><br/>
姓名:<input type="text" name="user.name"><br/>
年龄:<input type="text" name="user.age"><br/>
<input type="submit" value="submit"><br/>
</form>
- 参数的JavaBean属性包含集合时:
Person的属性:
private String kind;
private List<User> list;
private Map<String, User> map;
User的属性:
private String name;
private Integer age;
表单:
<form action="controller/hello" method="post">
种类:<input type="text" name="kind"><br/>
姓名:<input type="text" name="list[0].name"><br/>
年龄:<input type="text" name="list[0].age"><br/>
姓名:<input type="text" name="map['a'].name"><br/>
年龄:<input type="text" name="map['a'].age"><br/>
<input type="submit" value="submit"><br/>
</form>