我正在学习SpringMVC,并在Spring控制MVC3.1中遇到这些方法
ControllerClass(){
@RequestMapping(....)
public String show( Model uiModel) {
return ".....";
}
@RequestMapping(value = "/{id}", params = "form", method = RequestMethod.POST)
public String update(@Valid Contact contact, BindingResult bindingResult, Model uiModel,
HttpServletRequest httpServletRequest, RedirectAttributes redirectAttributes, Locale locale,
@RequestParam(value="file", required=false) Part file) {
if (bindingResult.hasErrors()) {
...........
return ".....";
}
参数如BindingResult,模型,HttpServletRequest,重定向属性,区域设置,@Request estParam(value="file",必需=false)部分是可选的,但我想知道在哪里可以找到这些可选参数,以及在什么情况下它可以出现在方法中。
参数:
BindingResult
-假设您有一个注册表单并且您将预先验证用户输入,然后您可以使用BindingResult
。模型
-用户注册后,他想编辑自己的个人资料,他去了一个编辑站点,在这个站点上你会显示来自用户的数据。在这里你可以搜索用户并将用户对象添加到模型中,在模板中你可以从模型
-属性
中读取值。HttpServletRequest
提供请求信息。@Request estParam(value="file",必需=false)
from Spring:带注释的参数,用于访问特定的Servlet请求参数。参数值转换为声明的方法参数类型
假设您有一个用户表,您将编辑其中一个,您选择一个条目,您可以在那里将userId作为请求参数发送。
还有一个类似的属性,它叫@PathVariable
主要区别,@PathVariable
是强制性的。@Request estParam
分别是可选的,因为这存在一个“回退/默认值”。@PathVariable
是url的一部分:
@RequestMapping(value = "/{login}/edit", method = RequestMethod.GET)
public ModelAndView editUserByLogin(@PathVariable("login") final String login, final Principal principal) {}
另外两个我还没有用过。