快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
处理

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

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

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

但是,你应该注意到了,上面的 com.unmi.UserController 配 置了两次,一来碍眼、二来原来只要 Singleton 的 UserController 实例不再是那么回事了。所以要引入 SimpleUrlHandlerMapping 对 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="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 配置复杂了,反正不用配置两个相 同的 UserController 实例了。还是通过上面那两个 URL 来访问 执行到相应的方法。

除了缺省的方法名解析器 InternalPathMethodNameResolver( 注意了,Spring 中缺省的 XXX 很多用 InternalXXX 的命名),还 有两种其他类型的方法名解析器:

·ParameterMethodNameResolver -- 根据请求中的参数解析执 行方法名,相当于 Struts 的 DispathAction

·PropertiesMethodNameResolver -- 根据查询一个 key/value 列表解析执行方法名,相当于 Struts 的 MappingDispatchAction(用得很少)

下面逐一介绍使用上面两种方法名解析器时的 Bean 配置及相 应访问的 URL。

使用 ParameterMethodNameResolver 时的 Bean 配置(为简单 起见,又用回了缺省的 HandlerMapping):

<bean name="/user.html" class="com.unmi.UserController">    <property name="methodNameResolver">      <ref bean="methodNameResolver"/>    </property> </bean> <bean name="methodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.Par ameterMethodNameResolver">    <property name="paramName">      <value>method</value>    </property> </bean> <bean name="/user.html" class="com.unmi.UserController">   <property name="methodNameResolver">   <ref bean="methodNameResolver"/>   </property> </bean> <bean name="methodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.Par ameterMethodNameResolver">   <property name="paramName">   <value>method</

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