【发布时间】:2012-11-06 13:24:45
【问题描述】:
对我的控制器操作的发布请求来自 ajax,如下所示:
$.post("myurl.htm", { view: $("#selView").val(),
val1: "value1", val2: "value2"
});
我有两个模型Foo 和Bar
public class Foo {
public String val1;
//getter/setters
}
public class Bar {
public String val2;
//getters/setters
}
现在,我的控制器操作如下所示:
@RequestMapping(value="/myurl.htm", method=RequestMethod.POST)
public ModelAndView doSomething (
@RequestParam(value="view", required=true) String view,
@RequestParam(value="val1", required=false) String val1,
@RequestParam(value="val2", required=false) String val2) {
Foo foo = new Foo();
Bar bar = new Bar();
if (view.equalsIgnoreCase("something"))
foo.setVal1(val1);
else if (view.equalsIgnoreCase("somethingelse"))
foo.setVal2(val2);
fooService.doSomeStuffWithDb(foo);
barService.doSomeStuffWithDb(bar);
}
问题
尽管上面的一切都有效,但我认为应该有更好的方法来做到这一点......?如果我在我的发布请求中发布了 10 个参数怎么办,我的控制器操作中是否会有 10 个参数?这不会很好地扩展。
那么,spring 有没有一种方法可以自动将参数绑定到模型上相关的 getter/setter?
【问题讨论】:
-
看看这是否有帮助forum.springsource.org/…
-
@SubinS 你给的网址和提问者要求的不一样
标签: java spring spring-mvc