spring的ParameterMethodNameResolver的使用
2013-05-01 13:56
429 查看
spring的ParameterMethodNameResolver的可以根据不同的参数执行不同方法,类似Struts的dyncaction
下面有一个例子
package ee.bug;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
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 ProductController extends MultiActionController {
/**
* Handles view
*/
public ModelAndView view(HttpServletRequest request, HttpServletResponse response) throws Exception {
response.getOutputStream().print("Viewing");
return null;
}
/**
* Handles index
*/
public ModelAndView index(HttpServletRequest request, HttpServletResponse response) throws Exception {
response.getOutputStream().print("index");
return null;
}
}
配置文件
<bean id="productMethodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
<property name="paramName"><value>method</value></property>
<property name="defaultMethodName"><value>view</value></property>
</bean>
<bean id="productController" class="ee.bug.ProductController">
<property name="methodNameResolver"><ref local="productMethodNameResolver"/></property>
</bean>
<property name="paramName"><value>method</value></property>参数名为method 默认为action
输入view.do?method=view 显示Viewing
输入view.do?method=indedx 显示index
输入/view.do?method=fdsf 显示404错误
下面有一个例子
package ee.bug;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
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 ProductController extends MultiActionController {
/**
* Handles view
*/
public ModelAndView view(HttpServletRequest request, HttpServletResponse response) throws Exception {
response.getOutputStream().print("Viewing");
return null;
}
/**
* Handles index
*/
public ModelAndView index(HttpServletRequest request, HttpServletResponse response) throws Exception {
response.getOutputStream().print("index");
return null;
}
}
配置文件
<bean id="productMethodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
<property name="paramName"><value>method</value></property>
<property name="defaultMethodName"><value>view</value></property>
</bean>
<bean id="productController" class="ee.bug.ProductController">
<property name="methodNameResolver"><ref local="productMethodNameResolver"/></property>
</bean>
<property name="paramName"><value>method</value></property>参数名为method 默认为action
输入view.do?method=view 显示Viewing
输入view.do?method=indedx 显示index
输入/view.do?method=fdsf 显示404错误
相关文章推荐
- spring的ParameterMethodNameResolver的使用
- Spring MVC ParameterMethodNameResolver example
- [转]spring的ParameterMethodNameResolver
- Spring MVC ParameterMethodNameResolver example
- Spring MVC ParameterMethodNameResolver example
- Spring MVC-控制器(Controller)-参数方法名称解析器(Parameter Method Name Resolver )示例(转载实践)
- Spring AOP:使用NameMatchMethodPointcutAdvisor实现切面编程
- ParameterMethodNameResolver 用法(采用请求参数匹配方法名)
- 使用Spring(15) Spring AOP APIs(NameMatchMethodPointcutAdvisor,RegexpMethodPointcutAdvisor))
- SPRING IN ACTION 第4版笔记-第六章RENDERING WEB VIEWS-006- 使用thymeleaf(TemplateResolver、SpringTemplateEngine、ThymeleafViewResolver、th:include、th:object、th:field="*{firstName}")
- Spring MVC PropertiesMethodNameResolver example
- 使用spring的LocalVariableTableParameterNameDiscoverer获取类方法参数名称列表
- MultiActionController,PropertiesMethodNameResolver,ParameterMethodNameResolver简单例子
- Spring MVC PropertiesMethodNameResolver example
- spring 中 init-method 和 destroy-method 的使用方式
- maven/plugin开发:插件版本不匹配导致的报错:Method: ‘name’ not found in class in ParameterAnnotationContent
- Spring MethodBeforeAdvice使用例子
- Spring 3.0 学习-DI 依赖注入_创建Spring 配置-使用一个或多个XML 文件作为配置文件,使用自动注入(byName),在代码中使用注解代替自动注入,使用自动扫描代替xml中bea
- 使用Spring CommonsMultipartResolver 上传文件
- 使用spring注入时出现is not writable or has an invalid setter method