快速业务通道

Spring MVC中的MultiActionController用法详解 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
value>   </property> </bean>

这时候分别用下面的 URL 就能访问到相应的方法

http://.../user.html?method=updateUser -- 将被 UserController.updateUser() 处理

http://.../user.html?method=deleteUser -- 将被 UserController.deleteUser() 处理

Spring MVC中的MultiActionController用法详解(3)

时间:2011-03-24 隔叶黄莺

通过参数的方式使得 HTML 表单表现用户选择成为可能,例如 把 method 参数可放在一个下拉框或隐藏域中。

使用 PropertiesMethodNameResolver 时的 Bean 配置

<bean id="userController" class="com.unmi.UserController" /> <bean id="simpleUrlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHa ndlerMapping">    <property name="mappings">      <props>        <prop key="/updateUser.html">userController</prop>        <prop key="/deleteUser.html">userController</prop>      </props>    </property> </bean> <bean id="methodNameResolver"  class="org.springframework.web.servlet.mvc.multiaction.Pro pertiesMethodNameResolver">    <property name="mappings">      <props>        <prop key="/updateUser.html">updateUser</prop>        <prop key="/deleteUser.html">deleteUser</prop>      </props>    </property> </bean> <bean id="userController" class="com.unmi.UserController" /> <bean id="simpleUrlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHa ndlerMapping">   <property name="mappings">   <props>    <prop key="/updateUser.html">userController</prop>    <prop key="/deleteUser.html">userController</prop>   </props>   </property> </bean> <bean id="methodNameResolver"class="org.springframework.web.serv let.mvc.multiaction.PropertiesMethodNameResolver">   <property name="mappings">   <props>    <prop key="/updateUser.html">updateUser</prop>    <prop key="/deleteUser.html">deleteUser</prop>   </props>   </property> </bean>

这种配置有点复杂,PropertiesMethodNameResolver 不仅与 SimpleUrlHandlerMapping 相仿又有重叠,而且必须把 SimpleUrlHandlerMapping 拉进来,无法使用默认的 HandlerMapping。从上面的配置我们可以明显的看出 HandlerMapping 和 MethodNameResolver 不同职责了,一个是定 位 Controller,一个是定位 Method。

这时候分别用下面的 URL 来访问到相应 Controller 的方法

http://.../updateUser.html -- 将被 UserController.updateUser() 处理

http://.../deleteUser.html  --  将被 UserController.deleteUser() 处理

这里的 URL 恰巧和使用 InternalPathMethodNameResolver  时是一样的,但一定要理解其实他们的机制是一样的。

PropertiesMethodNameResolver 把事性搞这么复杂,被誉为最 复杂的方法名解析

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号