快速业务通道

Apache Geronimo和Spring框架,第5部分: Spring MVC - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
单被打开时需要显示的数据的命令对象的位置。

Validate():表单被提交后,控制器将先把表单元素绑定到命令对象上。绑定成功后,它将调用验证 器上的验证方法并传递刚创建的命令对象。

onSubmit():如果命令对象验证成功,则调用此方法。这是可以对输入的数据采取操作的位置,例如 将数据保存到持久稳固的库中。

此外,请记住这些方法是根据请求装入所有 JSP 页面的方法,并且是控制器处理操作的方法。掌握了 这些信息,您就已经准备好开始开发构成此应用程序的组件了。

引入

PhonebookHomeController SimpleFormController

类是 Spring MVC 的 FormController 的具体类。它在用相应的 命令对象创建表单时提供支持。SimpleFormController 允许您指定命令对象、表单的视图名称、表单提 交成功时需要显示给用户的页面的视图名称等等。它还允许在验证错误的情况下重新提交到表单视图。

通过覆盖 formBackingObject 方法可以定制这个 SimpleFormController 类。您将使用此控制器将电 话本条目填充到主页中。如前述,formBackingObject 是可以用于实现此目的的方法。另请注意,您将使 用 PhonebookEntry 对象作为命令对象。清单 1 显示了如何定义此控制器。

清单 1. 定义 PhonebookHomeController

public class PhonebookHomeController extends SimpleFormController{    private IPhonebookDataProvider pbDataProvider;    protected ModelAndView onSubmit(Object command) throws Exception {      return new ModelAndView(new RedirectView(getSuccessView()));    }    public IPhonebookDataProvider getPbDataProvider() {      return pbDataProvider;    }    public void setPbDataProvider(IPhonebookDataProvider pbDataProvider) {      this.pbDataProvider = pbDataProvider;    }    protected Object formBackingObject(HttpServletRequest request) throws  Exception {      WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(request.getSession(). getServletContext());      IPhonebookDataProvider pb = (IPhonebookDataProvider) ctx.getBean ("phonebook");      List phonebookEntries = pb.getPhonebookEntries();      return phonebookEntries;    } }

在 清单 1 中可以看到 formBackingObject 具有提供电话本条目列表的逻辑。但由于 formBackingObject 需要获取此列表,因此它需要使用一个 IPhonebookDataProvider 类型的对象。您将 使用 IoC 并将此属性注入控制器中,下一部分将对其加以说明。现在,了解一下如何配置控制器使其处 理以下 /home-mvc.act URL 模式。

Apache Geronimo和Spring框架,第5部分: Spring MVC(6)

时间:2011-10-13 IBM Arun Chhatpar

让应用程序上下文知道新控制器的存在

下一步是让在 phonebook-servlet.xml 中定义的应用程序上下文知道刚定义的新控制器的存在。此步 骤包括定义两个 bean,如清单 2 所示。

清单 2. 在 phonebook-servlet.xml 中添加 PhonebookHomeController bean 定义

<bean id="urlMapping"   class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">      <property name="mappings">        <props>            <prop key="/*.do">phonebookController</prop>            <prop key="/*.htm">phonebookFlowController</prop>    

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号