首页 > 代码库 > springmvc 涂鸦笔记1
springmvc 涂鸦笔记1
在springmvc的multicontroller当中,需要调用MethodNameResolver,包括:InternalPathMethodNameResolver、ParameterMethodNameResolver和PropertiesMethodNameResolver。其中,PropertiesMethodNameResolver的配置我觉得是相对复杂一点的。首先创造一个multicontroller:
<bean id="OneMulti" class="org.wcy.springmvcdemo.controller.OneMultiAction">
<property name="methodNameResolver" ref="Properties"/>
</bean>
然后设置UrlHandlerMapping:
1 <bean id="handlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 2 <property name="alwaysUseFullPath" value="http://www.mamicode.com/true"/> 3 <property name="urlDecode" value="http://www.mamicode.com/true"></property> 4 <property name="mappings"> 5 <props> 6 <prop key="/mm/*">OneMulti</prop> 7 </props> 8 </property> 9 </bean>
最后配置PropertiesMethodNameResolver:
1 <bean id="Properties" class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver"> 2 <property name="mappings"> 3 <map> 4 <entry key="/*/four.do"> 5 <value>four</value> 6 </entry> 7 </map> 8 </property>
而Controller的方法是:
1 public Map<String,Object> four(HttpServletRequest req,HttpServletResponse resp) 2 throws Exception 3 { 4 System.err.println("返回Map..."); 5 Map<String,Object> mm= new HashMap<String,Object>(); 6 mm.put("name","Lora"); 7 mm.put("addr","四川成都"); 8 return mm; 9 }
其中容易出问题的地方在于如果请求的地址是:http://localhost:8088/springmvcdemo/mm/four.do 而且又设置了prefix=/Jsps/;suffix=.jsp,那么通过请求four方法会转发到http://localhost:8088/springmvcdemo/Jsps/mm/four.jsp 也就说此时four.jsp需在mm文件夹下,否则会出错。
springmvc 涂鸦笔记1
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。