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

26 篇文章 0 订阅
9 篇文章 1 订阅
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>

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值