在Spring框架中手动输入页面的模型生成

时间:2009-12-10 16:18:53

标签: java model spring

我必须扩展一些Spring Web应用程序,但我对框架不太熟悉(但是,我对其他一些框架有一些经验)。我可以看到框架使用了“ModelAndView”概念。 Controller返回两者:onSubmit()方法的模型和视图。但是,如果必须为手动输入的页面生成模型,该怎么办(用户将页面地址输入浏览器地址栏,而不是提交表单)。在这种情况下,没有onSubmit()调用,因此没有准备模型。

我想到了(ab)使用BaseFormController类的formBackingObject()方法,它准备了“命令”对象。但我不知道如何在jsp代码中引用该对象。任何提示将不胜感激。

2 个答案:

答案 0 :(得分:0)

您可以使用supported HTTP methods配置控制器的supportedMethods property。默认值为HEAD,GET和POST。如果使用GET请求发送相同的参数(对可传输的内容有一些限制),那么从控制器的角度来看应该没有区别。

必须注意的是,HTTP方法有一个不应该被破解的语义:获取(无需更改),发布操作等。

答案 1 :(得分:0)

覆盖为“初始”视图提供模型数据的正确方法是referenceData()。正如您在Javadoc中看到的,此方法有两个重载,具体取决于您需要执行的操作。

  

为给定的请求和命令创建一个引用数据映射,包含ModelAndView所期望的bean名称/ bean实例对。

     

默认实现委托给referenceData(HttpServletRequest)。子类可以覆盖它以设置视图中使用的引用数据。