我可以为@RequestMapping设置自定义Model参数吗?

时间:2012-05-30 16:20:05

标签: spring spring-mvc

Spring MVC自动连接@RequestMapping方法上的Model或ModelMap参数,但它能否为ModelMap的子类执行此操作?如果是这样,我在哪里创建子类实例?

我认为Spring MVC将未注释的参数视为命令对象,并将从请求中填充其字段。我真的不希望这种情况发生,所以我有点害怕尝试。

1 个答案:

答案 0 :(得分:0)

除非我误解了你的问题,否则你只需要@ModelAttribute注释。例如,我有一个声明如下的方法:

@RequestMapping(value="/**/contractComplete.do",  method = RequestMethod.POST)
public static void handleContractComplete(
        @ModelAttribute(ParamConstants.CONTRACT) ContractCommand command,
        BindingResult result,
        HttpServletResponse response, HttpSession session) throws IOException 

或许这会有所帮助: 在我的控制器声明中,我有

@Controller
@SessionAttributes(ParamConstants.CONTRACT)

结果是它使用了我在启动页面时放入模型的相同命令对象。我怀疑,这个对象可以是扩展(或实现)参数类的任何东西。