浏览 3895 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-02-22
配置web.xml <servlet> <servlet-name>spring</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/spring/*</url-pattern> </servlet-mapping> 定义一个Controller继承与MultiActionController package cn.iwoo.server.controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.multiaction.MultiActionController; public class BController extends MultiActionController { public ModelAndView doSearch(HttpServletRequest request, HttpServletResponse response) throws Exception { System.out.println(this.getClass() + "." + "doSearch()"); return new ModelAndView(""); } } 方法的定义必须符合下面的格式 public (ModelAndView | Map | String | void) actionName(HttpServletRequest request, HttpServletResponse response); 定义ViewResolver <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass"><value>org.springframework.web.servlet.view.JstlView</value></property> <property name="prefix"><value>/WEB-INF/jsp/</value></property> <property name="suffix"><value>.jsp</value></property> </bean> 定义UrlHandlerMapping <bean id="urlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="urlMap"> <map> <entry key="/b/*"><ref bean="bController"></ref></entry> </map> </property> </bean> 定义MethodNameResolver 一共定义了3个不同类型的MethodNameResolver. <!-- MethodNameResolver Definition --> <bean id="bMethodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver"> <property name="paramName" value="method"></property> <property name="logicalMappings"> <props> <prop key="doSearch">doSearch</prop> </props> </property> </bean> <bean id="cMethodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.InternalPathMethodNameResolver"> </bean> <bean id="dMethodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver"> <property name="mappings"> <value> /b/page.html=doSearch </value> </property> </bean> 定义Controller <!-- Controller Definition --> <bean id="bController" class="cn.iwoo.server.controller.BController"> <!-- <property name="methodNameResolver"><ref local="bMethodNameResolver"/></property> --> <!-- <property name="methodNameResolver"><ref local="cMethodNameResolver"/></property> --> <property name="methodNameResolver"><ref local="dMethodNameResolver"/></property> </bean> 测试 下面是对应于不同MethodNameResolver的测试url.
注:/b/是我的controller的映射前缀,在PropertiesMethodNameResolver的mappings配置里面,网址必须是/b/开头,也就是controller的前缀也需要写进去. 这是我测试的结果,不知是否必须这样. 以上代码测试过,可用. 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |