【问题标题】:@ModelAttribute("classname") dynamic paramater binding@ModelAttribute("classname") 动态参数绑定
【发布时间】:2014-09-05 09:51:00
【问题描述】:
spring mvc 

 @ModelAttribute("classname"), 

如何使参数“classname”成为dynamic 一个?

来自视图的任何内容都可以附加到那里。

【问题讨论】:

  • 回答对你有帮助

标签: spring-mvc servlets modelattribute


【解决方案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> { ... }

【讨论】:

    猜你喜欢
    • 2010-10-28
    • 2012-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-13
    • 2019-08-24
    • 2017-11-27
    • 1970-01-01
    相关资源
    最近更新 更多