spring mvc
@ModelAttribute("classname"),
如何制作参数" classname "一个dynamic
一个?
无论来自哪个视图都可以附加在那里。
答案 0 :(得分:1)
命令对象的实例化是Spring需要知道command
类的唯一地方。但是,您可以使用 @ModelAttribute 带注释的方法覆盖它:
@RequestMapping(method = RequestMethod.POST)
public void show(HttpServletRequest request,
@ModelAttribute("objectToShow") Object objectToShow)
{
...
}
@ModelAttribute("objectToShow")
public Object createCommandObject() {
return getCommandClass().newInstance();
}
顺便说一句,Spring也适用于真正的generics
:
public abstract class GenericController<T> {
@RequestMapping("/edit")
public ModelAndView edit(@ModelAttribute("t") T t) { ... }
}
@Controller @RequestMapping("/foo")
public class FooController extends GenericController<Foo> { ... }