springMvc 为所有 jsp 添加公共属性

来源:互联网 发布:微信软文编辑软件 编辑:程序博客网 时间:2024/05/16 05:29

1.需求:
所有的 jsp 页面都需要获取一个共同的属性,比如系统所有的图片都存在一个单独的服务器,那么它们的前缀都是一样的,这个地址需要作为配置项配置进去,这个时候就需要为所有的 jsp 都配置一个共同的属性,这个属性值就是一个公共的属性。

实现:
java 里面的父类就是干这个事的,所以只需要为jsp的解析器配置一个父类,在父类里面给属性赋值即可。

2.实现如下:

<bean id="absViewResolver" abstract="true">        <property name="attributes">            <props>                <prop key="imgYunServer">${upyun.fileServerUrl}</prop>                <prop key="xxx">${xxx.xxx}</prop>            </props>        </property>    </bean><!-- 定义JSP文件的位置,把上面定义好的类作为它的父类即可! -->    <bean        class="org.springframework.web.servlet.view.InternalResourceViewResolver"        parent="absViewResolver">        <property name="prefix" value="/WEB-INF/views/" />        <property name="suffix" value=".jsp" />    </bean>

3.jsp 中使用方式

<img alt="test" src="${imgYunServer}/a.jpg">

扩展:除了 jsp 之外,其他的任何地方我们都可以充分发挥父类的这种作用,设计它的初衷也正是如此,为子类提供共同的属性和行为

0 0
原创粉丝点击