cbm*_*eks 4 java webforms spring-mvc javabeans
所以我使用带注释的Spring MVC 3.
我有一个简单的html表单(实际上是ExtJS)有三个字段.
1) Username
2) Password
3) Color
Run Code Online (Sandbox Code Playgroud)
好了,username并且password属于一个名为公司Databeans User. color属于另一个叫做的bean Color.
在我的UserController中,我有:
@RequestMapping(value = "/users/login", method = RequestMethod.POST)
@ResponseBody
public String handleLogin( @ModelAttribute("user") User paUser,
@ModelAttribute("color") Color paColor,
ModelMap map) {
// at this point "paUser" contains both username AND password submitted from form
// however, there is nothing in "paColor"
...
return "user.jsp"
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我是春天的新手,顺便说一下.
谢谢
通常,您将创建一个表示表单的新类(这称为表单支持对象),例如UserColorForm,包含请求正文中每个输入的属性.
您的控制器方法将如下所示:
@RequestMapping(value = "/users/login", method = RequestMethod.POST)
@ResponseBody
public String handleLogin(UserColorForm form, ModelMap map) {
// now you can work with form.getUsername(), form.getColor() etc.
Run Code Online (Sandbox Code Playgroud)
如果FBO bean具有与表单输入名称匹配的属性名称,则Spring会将请求中的输入直接绑定到属性.也就是说,如果表单输入是username=matt&color=blueSpring会创造我的窗体的新实例,并调用setUsername("matt")和setColor("blue").
顺便说一句,@ResponseBody如果要从方法(user.jsp)返回视图的名称,您可能不希望对该方法进行注释.@ResponseBody表示该方法的返回值应直接写入响应流.
| 归档时间: |
|
| 查看次数: |
1598 次 |
| 最近记录: |