Spring MVC 自动将 Model 或 ModelMap 参数连接到@RequestMapping
方法上,但它可以为 ModelMap 的子类做到这一点吗?如果是这样,我在哪里创建子类实例?
我认为 Spring MVC 将未注释的参数视为命令对象,并将从请求中填充其字段。我真的不希望发生这种情况,所以我有点害怕尝试。
Spring MVC 自动将 Model 或 ModelMap 参数连接到@RequestMapping
方法上,但它可以为 ModelMap 的子类做到这一点吗?如果是这样,我在哪里创建子类实例?
我认为 Spring MVC 将未注释的参数视为命令对象,并将从请求中填充其字段。我真的不希望发生这种情况,所以我有点害怕尝试。
除非我误解了您的问题,否则您只需要 @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)
结果是它使用了我在启动页面时放入模型中的相同命令对象。我怀疑这个对象可能是任何扩展(或实现)参数类的东西。