定义多个handel mapping和ViewResolver

1.  定义多个handel mapping

Spring org.springframework.core包里面有个Ordered的接口,这个接口有个未实现的方法是public int getOrder();我理解这个接口的意义就是让实现它的类有者顺序关系,Spring提供的所以handelmapping类都是实现了Ordered接口的,这说明了所有的handelmapping类都有着顺序关系,所以在同一个WebApplication中可以定义多个handelmapping,每个handelmapping都有自己的order值,值越小的优先权越大,系统先会用优先权最大的的去做mapping,如果找不到资源的话,再用下一个级别的mapping去找!

例如:

<bean id="beanNameUrlMapping" class="org.springframework.web.

servlet.handler.BeanNameUrlHandlerMapping">

<property name="order"><value>1</value></property>

</bean>

<bean id="simpleUrlMapping" class="org.springframework.web.

servlet.handler.SimpleUrlHandlerMapping">

<property name="order"><value>0</value></property>

<property name="mappings">

</property>

</bean>

 

以上的例子表示simpleUrlMapping的优先权大于beanNameUrlMapping,系统先用simpleUrlMapping去找资源,找不到再用beanNameUrlMapping去找一次。

2.  定义多个ViewResolver

和定义handel mapping类似,也是通过定义ViewResolverorder属性来定义ViewResolver的优先权,但我不理解的是ViewResolver并没有实现Ordered接口,不知道他的order属性从何而来。

Spring in Action给出的例子:

 

<bean id="viewResolver" class=

"org.springframework.web.servlet.view.InternalResourceViewResolver">

<property name="prefix"><value>/WEB-INF/jsp/</value></property>

<property name="suffix"><value>.jsp</value></property>

<property name="order"><value>1</value></property>

</bean>

<bean id="xmlFileViewResolver" class=

"org.springframework.web.servlet.view.XmlFileViewResolver">

<property name="location">

<value>/WEB-INF/views.xml</value>

</property>

<property name="order"><value>2</value></property>

</bean>

 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值