您的位置:首页 > 编程语言 > Java开发

Spring mvc (四) [继承MultiActionController实现以方法为单位的controller][配置2种请求的指定方式]

2012-05-31 21:36 916 查看
MultiActionController

继承MultiActionController。实现以方法为单位的请求方式。
这里有两种配置。分别是根据参数名指定要请求的方法和根据方法名请求controller。
分别是:
1、ParameterMethodNameResolver   根据参数名
2、InternalPathMethodNameResolver 根据方法名

案例代码如下。
1、	org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver根据参数名的值指定要请求的方法

请求的url: http://localhost:8080/springmvc/to_add.do?func=to_add 
注意的地方:
1、	类必须继承MultiActionController
2、	被请求的方法一定要传递request和response的参数

public class MultiAction extends MultiActionController{
	
	public void to_add(HttpServletRequest request,HttpServletResponse reponse){
		System.out.println("to_add"+"--------");
	}
	
	
	public void to_delete(HttpServletRequest request,HttpServletResponse reponse){
		System.out.println("to_delete"+"--------");
	}
}

在配置上:

首先方法to_add.do就会通过下面的prop配置跳转到相应的controllerbean
然后指定参数func是因为:
	<property name="methodNameResolver">
			<bean class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
				<property name="paramName" value="func"></property>
			</bean>
		</property>
这里的func指定了要访问的方法名

	<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
		<property name="mappings">
			<props>
				<prop key="/login.do">login</prop>
				<prop key="/to_add.do">multi</prop>
				<prop key="/to_delete.do">multi</prop>
			</props>
		</property>
	</bean>

	<bean id="multi" class="cn.zhang.mvc.MultiAction">
		<property name="methodNameResolver">
			<bean class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
				<property name="paramName" value="func"></property>
			</bean>
		</property>
	</bean>

2、
org.springframework.web.servlet.mvc.multiaction.InternalPathMethodNameResolver

而另外一种org.springframework.web.servlet.mvc.multiaction.InternalPathMethodNameResolver则更加假单。配置:

它和上一个org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver相比就简单很多。它直接在url指定方法名就可以比如:
 http://localhost:8080/springmvc/to_delete.do   这个就是说要访问to_delete.do映射到的multiActionContoller中的to_delete方法

	<bean id="multi" class="cn.zhang.mvc.MultiAction">
		<property name="methodNameResolver">
			<bean class="org.springframework.web.servlet.mvc.multiaction.InternalPathMethodNameResolver">
			</bean>
		</property>
	</bean>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐