`
shishi11
  • 浏览: 113897 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring3下velocity配置问题解决

阅读更多

在改造原有系统的过程中,想要配置spring下的velocity,原配置如下:

 

<bean id="velocityConfig"
        class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
        <property name="resourceLoaderPath" value="/WEB-INF/view/" />
        <property name="configLocation" value="/WEB-INF/classes/velocity.properties" />        
    </bean>


    <bean id="viewResolver"
        class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
        <property name="cache" value="false" />
        <property name="prefix" value="" />
        <property name="suffix" value=".vm" />
        <property name="toolboxConfigLocation" value="/WEB-INF/classes/toolbox.xml" />
        <property name="contentType" value="text/html;charset=utf-8" />
        <property name="exposeSpringMacroHelpers" value="true"></property>
    </bean>
    <!-- action -->
    <bean id="joblist" class="com.taiji.eap.components.scheduler.JobList_view" />

 

在veloctiy.properties中配置

# 设置读取模板文件的解码格式,为了支持中文  
 input.encoding=utf-8  
# 配置输出视图文件的解码格式,为了支持中文  
 output.encoding=utf-8 

 

结果在启动时总是报一个错:

ERROR [main] app.VelocityEngine - org.apache.velocity.exception.ParseErrorException: Template.process : Unsupported input encoding : utf-8    for template org/springframework/web/servlet/view/velocity/spring.vm

结果造成:

Error creating bean with name 'velocityConfig' defined in ServletContext resource [/WEB-INF/classes/eap-servlet-admin.xml]: Invocation of init method failed; nested exception is org.apache.velocity.exception.VelocityException: Velocimacro : Error using VM library : org/springframework/web/servlet/view/velocity/spring.vm

 

改了很多地方,可是一想,已经在velocity.properites中加了utf-8,为什么不行,把这个去掉后,不报错了,但vm页面上就必须用标记来代,不能写中文了。最后,改写成这样:

<bean id="velocityConfig"
        class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
        <property name="resourceLoaderPath" value="/WEB-INF/view/" />
        <property name="configLocation" value="/WEB-INF/classes/velocity.properties" />
        <!-- 这里太有意思了,因为什么不知道,但要重新再设一下input.encoding就行了 -->
         <property name="velocityProperties">   
         <props>   
             <prop  key="input.encoding">UTF-8</prop>   
             <prop  key="output.encoding">UTF-8</prop>     
          </props>   
      </property>         

    </bean>

就行了,为什么要再设一次呢?我只能推测加载spring.vm用的属性不是在加载velocity.properites里用的属性。

因为查了很多网上资料都没什么结果,这里记一下,如有人有此问题,也好有个结论。

分享到:
评论

相关推荐

    SpringBoot1.5以上版本兼容velocity,不降级spring

    这里完美解决不支持问题,支持任意版本的spring 配置 1.在pom中添加 &lt;!-- velocity视图解析 --&gt; &lt;groupId&gt;org.springframework.boot &lt;artifactId&gt;spring-boot-starter-velocity &lt;version&gt;1.3.6.RELEASE ...

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

    9.9. 公共问题的解决方案 9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 ...

    Spring 2.0 开发参考手册

    9.9. 公共问题的解决方案 9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1....

    Spring中文帮助文档

    9.9. 常见问题的解决方法 9.9.1. 对一个特定的 DataSource 使用了错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 ...

    Spring API

    9.9. 常见问题的解决方法 9.9.1. 对一个特定的 DataSource 使用了错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 ...

    spring chm文档

    9.9. 公共问题的解决方案 9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1....

    Spring in Action中文版 清晰pdf part2

    附录A介绍如何开始自己的Spring应用系统,如何下载Spring以及如何编写Ant配置文件。附录B介绍一些与Spring有关的其他开源框架。本书的每一部分既是建立在前一部分的基础上,同时也都是独立存在的,所以,读者不必...

    springboot学习

    chapter3-1-7:使用Java 8中LocalDate等时间日期类的问题解决 chapter3-1-8:扩展XML请求和响应的支持 数据访问 chapter3-2-1:使用JdbcTemplate chapter3-2-2:使用Spring-data-jpa简化数据访问层(推荐) chapter3...

    Spring in Action中文版 清晰pdf part1

    附录A介绍如何开始自己的Spring应用系统,如何下载Spring以及如何编写Ant配置文件。附录B介绍一些与Spring有关的其他开源框架。本书的每一部分既是建立在前一部分的基础上,同时也都是独立存在的,所以,读者不必...

    Spring面试题

    AOP 和 IOC 是补充性的技术,它们都运用模块化方式解决企业应用程序开发中的复杂问题。在典型的面向对象开发方式中,可能要将日志记录语句放在所有方法和 Java 类中才能实现日志功能。在 AOP 方式中,可以反过来将...

    springboot参考指南

    解决自动配置问题 ii. 62.2. 启动前自定义Environment或ApplicationContext iii. 62.3. 构建ApplicationContext层次结构(添加父或根上下文 iv. 62.4. 创建一个非web(non-web)应用 ii. 63. 属性&配置 i. 63.1. ...

    Spring Framework 5.3.6

    利用众多的翻转控制方便特性来全面支持, 解决了许多典型的Hibernate集成问题. 所有这些全部遵从Spring通用事务处理和通用数据访问对象异常等级规范. • 灵活的基于核心Spring功能的MVC网页应用程序框架。开发者...

    单点登录源码

    Spring+SpringMVC+Mybatis框架集成公共模块,包括公共配置、MybatisGenerator扩展插件、通用BaseService、工具类等。 &gt; zheng-admin 基于bootstrap实现的响应式Material Design风格的通用后台管理系统,`zheng`...

    基于SpringBoot+SpringCloud+Mybatis主流框架搭建的分布式敏捷开发系统架构+源代码+文档说明

    分布式统一配置管理中心,可解决多环境多项目配置 &gt; mi-api 接口总线服务,提供eureka注册中心。其他模块需暴露API接口可参考此案例或者在自己子项目中创建服务提供者供其他项目调用消费。 &gt; mi-admin 平台总...

    基于jbpm与activiti的工作流平台技术架构介绍

    系统的安全管理由Spring Security 3提供配置及管理,非常容易与第三方的用户或认证平台进行整合,如与CAS服务器作统一认证,只需要加上新的配置模块即可实现,不影响系统现有的功能模块。大大满足了各种不同系统的...

    JessMA Java Web 应用开发框架 (v3.2.2-20130815).pdf

    Dao Bean / Spring Bean装配、国际化、文件上传下载和缓存等基础Web应用组件,提供高度灵活的纯 Jsp/Servlet API 编程模型,完美整合 Spring,支持Action Convention“零配置”,能快速开发传统风格和RESTful风格的...

    Struts2属性文件详解

    对于某些Java EE服务器,不支持HttpServlet Request调用getParameterMap()方法,此时可以设置该属性值为true来解决该问题.该属性的默认值是false.对于 WebLogic、Orion和OC4J服务器,通常应该设置该属性为true. struts....

    Struts2\constant应用

    对于某些Java EE服务器,不支持HttpServlet Request调用getParameterMap()方法,此时可以设置该属性值为true来解决该问题。该属性的默认值是false。 对于WebLogic、Orion和OC4J服务器,通常应该设置该属性为true。 ...

    Maven权威指南 很精典的学习教程,比ANT更好用

    冲突解决 9.4.6. 依赖管理 9.5. 项目关系 9.5.1. 坐标详解 9.5.2. 多模块项目 9.5.3. 项目继承 9.6. POM最佳实践 9.6.1. 依赖归类 9.6.2. 多模块 vs. 继承 9.6.2.1. 简单项目 9.6.2.2. 多模块企业级...

    电子商城系统设计实习报告.doc

    Spring MVC缺点: 大量的XML配置文件,太过灵活——没有公共的父控制器,没有内置的Ajax支持。 2 HTML语言: 超文本标记语言,标准通用标记语言下的一个应用。"超文本"就是指页面内可以包含 图片、链接,甚至音乐、...

Global site tag (gtag.js) - Google Analytics