`
shishi11
  • 浏览: 116388 次
  • 性别: 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里用的属性。

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

分享到:
评论

相关推荐

    spring mvc与velocity整合

    总的来说,Spring MVC与Velocity的整合使得开发者可以利用Spring MVC的强大功能来处理业务逻辑,同时利用Velocity的简洁模板语法来设计前端页面,两者结合提供了高效且易于维护的Web应用解决方案。

    spring mvc mybatis velocity 示范

    Spring MVC、MyBatis 和 Velocity 是三个在Java Web开发中广泛应用的开源框架。Spring MVC 是Spring框架的一部分,用于构建高效、灵活的Web应用程序。MyBatis 是一个优秀的持久层框架,它支持定制化SQL、存储过程...

    spring+velocity+ibatis

    标题“spring+velocity+ibatis”揭示了一个基于Java的Web应用程序开发组合,它结合了Spring框架、Velocity模板引擎和iBatis数据访问层。这个项目可能是为了演示或教学如何有效地集成这三个组件,以便构建一个完整的...

    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 MVC+Maven+Velocity配置实例

    总结起来,Spring MVC、Maven和Velocity的整合为Java Web开发提供了一种高效、灵活的解决方案。Spring MVC负责处理请求和响应,Maven简化了项目的构建和依赖管理,而Velocity则为呈现动态内容提供了简洁的模板语言。...

    Struts2+Spring+Velocity项目

    Struts2、Spring和Velocity是Java...同时,由于它们都是开源的,有大量的社区支持和文档,学习和解决问题变得更加容易。通过熟练掌握Struts2、Spring和Velocity,开发者能够构建出高度模块化、易于维护的Java Web应用。

    Spring+SpringMVC+Mybatis+Velocity+Maven demo

    3. **配置SpringMVC**:创建spring-mvc.xml,设置视图解析器(如VelocityViewResolver),并配置处理器映射器和处理器适配器。 4. **配置Mybatis**:配置mybatis-config.xml,指定mapper文件的位置,以及数据源和...

    spring+hibernate+velocity

    可能包括Spring的配置XML文件(如`applicationContext.xml`)、Hibernate的配置文件(如`hibernate.cfg.xml`)、Velocity模板文件(`.vm`)以及相关的Java源代码。通过这些配置和代码,我们可以看到具体如何设置数据...

    spring+velocity+ajax带进度条上传文件

    综上所述,"spring+velocity+ajax带进度条上传文件"是一个集成的Web开发解决方案,利用Spring处理文件上传,Velocity构建用户界面,Ajax实现异步通信和进度反馈。这个技术组合能够提供高效、流畅且具有反馈的文件...

    基于Spring JdbcTemplate和Velocity模板的SQL可配置化、缓存与热部署设计源码

    本项目为基于Spring JdbcTemplate扩展并结合Velocity模板构建的SQL可配置化、缓存与热部署解决方案源码,总计包含383个文件,包括374个Java源文件、6个XML配置文件、1个Markdown文档、1个JAR包文件以及1个属性文件。...

    Velocity+Spring 2[1].0+Hibernate的Web应用开发框架

    - **配置 Velocity**:首先需要在 Spring 的配置文件中添加 Velocity 的相关配置,指定模板的存储位置等。 - **创建视图解析器**:通过配置一个 Velocity 视图解析器,该解析器负责将视图名称解析为具体的模板文件...

    maven+springmvc+spring+ibatis+velocity+mysql

    通过Maven和Spring的集成,整个开发流程变得更加顺畅,而iBatis和Velocity则分别解决了数据访问和视图渲染的问题。使用MySQL作为数据库,保证了数据的可靠存储。整体来看,这是一个高效、稳定且易于扩展的企业级Web...

    springmvc4+hibernate4+velocity1.7jar包

    3. **配置整合**:在Spring的配置文件中,可以配置Hibernate的数据源、SessionFactory,以及Velocity的模板路径等,实现三大框架的无缝集成。 通过这样的整合,开发者可以获得一套高效、灵活且易于维护的Java Web...

    SpringMVC+ibatis+velocity整合例子

    4. 配置Velocity:在Spring配置文件中添加VelocityViewResolver,指定模板目录和Velocity工具类。 5. 编写Controller:使用SpringMVC的@Controller注解创建控制器类,定义处理HTTP请求的方法,注入Service层的Bean。...

    struts2+spring2+hibernate3+velocity+sitemesh集成框架代码

    Struts2、Spring2、Hibernate3、Velocity和Sitemesh是经典的Java Web开发框架组合,它们各自在Web应用的不同层面提供了强大的支持。这个集成框架代码集合了这些技术,旨在提供一个高效、灵活和可扩展的开发环境。 1...

    Spring3.0.1+Mybatis3.0.5+Struts2.2.3.1+velocity1.7+DWZ

    这是一个基于Java技术栈的老式项目配置,主要涵盖了Spring 3.0.1、Mybatis 3.0.5、Struts2.2.3.1、Velocity 1.7以及DWZ jQuery UI框架的整合应用。下面将详细介绍这些组件及其在项目中的作用。 **Spring 3.0.1**: ...

    maven+springMVC+mybatis+velocity+mysql+junit项目框架搭建

    本项目框架“maven+springMVC+mybatis+velocity+mysql+junit”提供了一种高效、灵活且可维护的解决方案。以下将详细讲解这些组件及其作用。 1. Maven: Maven是一个项目管理工具,用于构建、依赖管理和项目信息...

    SpringMVC+Velocity+Maven整合例子

    3. **配置Velocity**:创建Velocity的配置文件(如:velocity.properties),配置模板的路径、缓存策略等。同时,需要在Spring配置中注册Velocity工具。 4. **创建控制器**:编写SpringMVC的Controller类,处理HTTP...

    velocity-1.5.jar,velocity-1.6.2-dep.jar,velocity-tools-1.3.jar

    这整个过程是完全独立于具体的服务器环境的,使得Velocity成为一种跨平台的解决方案。 总的来说,Velocity和Velocity Tools是Java Web开发中的重要组件,它们帮助开发者构建高效、可维护的Web应用,同时保持前后端...

    Spring 3.x企业应用开发实战.rar

    《Spring 3.x企业应用开发实战》是一本深入探讨Spring框架3.x版本的权威指南,旨在帮助...通过深入学习,开发者不仅可以掌握Spring框架的精髓,还能提升解决实际问题的能力,为参与复杂的企业级项目打下坚实基础。

Global site tag (gtag.js) - Google Analytics