`

spring mvc + velocity 页面使用contextPath

阅读更多
添加文件/webapp/WEB-INF/spring/webmvc-config.xml
文件内容
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:c="http://www.springframework.org/schema/c"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

<mvc:annotation-driven>
        <mvc:message-converters>
            <bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter" />
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <property name="writeAcceptCharset" value="false" />
            </bean>
            <bean class="org.springframework.http.converter.ResourceHttpMessageConverter" />
            <bean class="com.baifubao.superhero.service.rest.client.CustomAllEncompassingFormHttpMessageConverter">
                <constructor-arg name="charset" value="GBK" />
            </bean>
            <bean class="com.baifubao.superhero.service.rest.client.CustomMappingJackson2HttpMessageConverter">
                <constructor-arg name="charset" value="GBK" />
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

<context:component-scan base-package="com.baifubao" use-default-filters="false">
<context:include-filter expression="org.springframework.stereotype.Controller" type="annotation"/>
</context:component-scan>

<context:property-placeholder location="classpath:payfront-app-config.properties" order="1" ignore-unresolvable="true"/>

<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**" />
<bean class="com.baifubao.superhero.util.log.mdc.WebLogMdcHandlerInterceptor"/>
</mvc:interceptor>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<bean class="com.baifubao.superhero.service.rest.context.ServiceContextInterceptor"/>
</mvc:interceptor>
<mvc:interceptor>
<mvc:mapping path="/**" />
<bean class="com.baifubao.superhero.util.web.security.access.BnsAccessHandlerInterceptor">
<property name="enable" value="${payfront.tomcat.access.interceptor.enable}" />
</bean>
</mvc:interceptor>
<mvc:interceptor>
<mvc:mapping path="/**" />
<mvc:exclude-mapping path="/services/**" />
<bean class="com.baifubao.superhero.util.log.digest.web.WebDigestLogHandlerInterceptor" c:loggerName="PAGE-DIGEST-LOGGER" />
</mvc:interceptor>
<mvc:interceptor>
<mvc:mapping path="/services/**" />
<bean class="com.baifubao.superhero.util.log.digest.web.WebDigestLogHandlerInterceptor" c:loggerName="SERVICE-DIGEST-LOGGER" />
</mvc:interceptor>
</mvc:interceptors>

<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources -->
<mvc:resources location="/, classpath:/META-INF/web-resources/" mapping="/resources/**"/>

<!-- Allows for mapping the DispatcherServlet to "/" by forwarding static resource
requests to the container's default Servlet -->
<mvc:default-servlet-handler/>

<!-- Resolves localized messages*.properties and application.properties files in the application to allow for internationalization.
The messages*.properties files translate Roo generated messages which are part of the admin interface, the
application.properties resource bundle localizes all application specific messages such as entity names and menu items. -->
<bean class="org.springframework.context.support.ReloadableResourceBundleMessageSource" id="messageSource" p:basenames="WEB-INF/i18n/messages,WEB-INF/i18n/application" p:fallbackToSystemLocale="false"/>

<!-- Enable this for integration of file upload functionality -->
<bean class="org.springframework.web.multipart.commons.CommonsMultipartResolver" id="multipartResolver"/>

<!-- Velocity -->
<bean id="velocityConfig" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<property name="resourceLoaderPath" value="/WEB-INF/view"/>
<property name="velocityProperties">
<props>
<prop key="input.encoding">GBK</prop>
<prop key="output.encoding">GBK</prop>
<prop key="contentType">text/html;charset=GBK</prop>

<prop key="file.resource.loader.cache">${velocity.file.resource.loader.cache}</prop>
<prop key="file.resource.loader.modificationCheckInterval">${velocity.file.resource.loader.modificationCheckInterval}</prop>
<prop key="velocimacro.library.autoreload">${velocity.velocimacro.library.autoreload}</prop>

<prop key="velocimacro.library">macro.vm</prop>
</props>
</property>
</bean>

<bean id="viewResolver" class="org.springframework.web.servlet.view.velocity.VelocityLayoutViewResolver">
<property name="suffix" value=".vm"/>
<property name="prefix" value="vm/" />
<property name="layoutUrl" value="layouts/default.vm" />
<property name="contentType" value="text/html;charset=GBK" />

<property name="cache" value="${velocity.view.resolver.cache}"/>
<property name="exposeSpringMacroHelpers" value="true"/>
<property name="exposeRequestAttributes" value="true"/>
<property name="exposeSessionAttributes" value="true"/>
<property name="requestContextAttribute" value="rc"/>
</bean>
</beans>

红色部分就是请求上下文的配置,配置到velocity上下文后,就可以在vm模版里面直接使用了:${rc.contextPath}

分享到:
评论

相关推荐

    Velocity简单案例

    在Java工程中,Velocity通常被用作Web应用的视图层技术,与Spring MVC、Struts等框架结合使用。在这个"Velocity简单案例"中,我们可以推测其包含了一个基础的Velocity模板使用示例,可能包括以下几个关键知识点: 1...

    Spring-Reference_zh_CN(Spring中文参考手册)

    2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言支持 2.6.2. JMX 2.6 .3. 任务规划 2.6.4. 对Java 5(Tiger)的支持 2.7. 移植到Spring 2.0 ...

    velocity 简单实例

    在实际应用中,Velocity 常常与 Spring MVC 或 Struts 等框架结合使用,作为视图层的模板引擎。它简化了动态内容的生成,使开发者能更专注于业务逻辑,提高了开发效率。通过深入学习和实践,我们可以更好地掌握 ...

    Spring 2.0 开发参考手册

    2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言支持 2.6.2. JMX 2.6.3. 任务规划 2.6.4. 对Java 5(Tiger)的支持 2.7. 移植到Spring ...

    Spring中文帮助文档

    6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...

    velocity配置

    Velocity是一个强大的基于Java的模板引擎,它主要用于将Java对象的数据渲染成HTML、XML、SQL等格式的文本。...结合Spring框架,Velocity能更好地融入到MVC架构中,为Web应用提供灵活、高效的模板渲染能力。

    Spring API

    2.5.1. Spring MVC合理的默认值 2.5.2. Portlet 框架 2.5.3. 基于Annotation的控制器 2.5.4. Spring MVC的表单标签库 2.5.5. 对Tiles 2 支持 2.5.6. 对JSF 1.2支持 2.5.7. JAX-WS支持 2.6. 其他 2.6.1. 动态...

    spring chm文档

    Spring Framework 开发参考手册 Rod Johnson Juergen Hoeller Alef Arendsen Colin Sampaleanu Rob Harrop Thomas Risberg Darren Davison Dmitriy Kopylenko Mark Pollack ...19.2. 使用Spring JMS ...

    security+jcaptcha(验证码)框架搭建

    根据提供的文件信息,本文将详细介绍如何使用 Spring Security 和 JCaptcha 框架来搭建一个包含验证码功能的安全系统。 ### 一、Spring Security简介 Spring Security 是一个强大的且高度可定制的身份验证和访问...

    springSide3框架的笔记参照.pdf

    SpringSide3.0使用Velocity语法的项目模板,生成的项目包括运行所需的配置文件和示例代码。 在开始使用SpringSide3之前,需要确保以下预要求已满足: 1. 设置JAVA_HOME环境变量指向JDK 5.0的安装目录。 2. 安装...

    单独使用struts的包

    此外,你还可以利用Struts2与其他库的集成,比如Freemarker或Velocity作为视图模板引擎,或者使用i18n进行国际化支持。 总结来说,单独使用Struts2框架能帮助开发者高效地构建Java Web应用,提供了一套完整的MVC...

Global site tag (gtag.js) - Google Analytics