PropertiesMethodNameResolver ,灵活的MultiActionController方法名称解析器,用于显式定义URL和方法名称之间的映射 。 请参阅以下示例:
1. MultiActionController
一个MultiActionController示例。
package com.mkyong.common.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 CustomerController extends MultiActionController{
public ModelAndView add(HttpServletRequest request,
HttpServletResponse response) throws Exception {
return new ModelAndView("CustomerPage", "msg","add() method");
}
public ModelAndView delete(HttpServletRequest request,
HttpServletResponse response) throws Exception {
return new ModelAndView("CustomerPage", "msg","delete() method");
}
public ModelAndView update(HttpServletRequest request,
HttpServletResponse response) throws Exception {
return new ModelAndView("CustomerPage", "msg","update() method");
}
public ModelAndView list(HttpServletRequest request,
HttpServletResponse response) throws Exception {
return new ModelAndView("CustomerPage", "msg","list() method");
}
}
2. PropertiesMethodNameResolver
使用PropertiesMethodNameResolver ,您可以轻松地将任何URL名称映射到对应的方法名称:
<beans ...>
<bean
class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" />
<bean class="com.mkyong.common.controller.CustomerController">
<property name="methodNameResolver">
<bean class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver">
<property name="mappings">
<props>
<prop key="/customer/a.htm">add</prop>
<prop key="/customer/b.htm">update</prop>
<prop key="/customer/c.htm">delete</prop>
<prop key="/customer/d.htm">list</prop>
<prop key="/customer/whatever.htm">add</prop>
</props>
</property>
</bean>
</property>
</bean>
</beans>
现在,URL将以以下模式映射到方法名称:
- /customer/a.htm –> add()方法
- /customer/b.htm –> update()方法
- /customer/c.htm –> delete()方法
- /customer/d.htm –> list()方法
- /customer/whatever.htm –> add()方法
注意
默认情况下,使用MultiActionController使用InternalPathMethodNameResolver将URL映射到对应的方法名称。
下载源代码
下载它– SpringMVC-PropertiesMethodNameResolver-Example.zip (7KB)
参考
标签: 春天MVC
翻译自: https://mkyong.com/spring-mvc/spring-mvc-propertiesmethodnameresolver-example/