在改造原有系统的过程中,想要配置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的简洁模板语法来设计前端页面,两者结合提供了高效且易于维护的Web应用解决方案。
Spring MVC、MyBatis 和 Velocity 是三个在Java Web开发中广泛应用的开源框架。Spring MVC 是Spring框架的一部分,用于构建高效、灵活的Web应用程序。MyBatis 是一个优秀的持久层框架,它支持定制化SQL、存储过程...
标题“spring+velocity+ibatis”揭示了一个基于Java的Web应用程序开发组合,它结合了Spring框架、Velocity模板引擎和iBatis数据访问层。这个项目可能是为了演示或教学如何有效地集成这三个组件,以便构建一个完整的...
这里完美解决不支持问题,支持任意版本的spring 配置 1.在pom中添加 <!-- velocity视图解析 --> <groupId>org.springframework.boot <artifactId>spring-boot-starter-velocity <version>1.3.6.RELEASE ...
总结起来,Spring MVC、Maven和Velocity的整合为Java Web开发提供了一种高效、灵活的解决方案。Spring MVC负责处理请求和响应,Maven简化了项目的构建和依赖管理,而Velocity则为呈现动态内容提供了简洁的模板语言。...
Struts2、Spring和Velocity是Java...同时,由于它们都是开源的,有大量的社区支持和文档,学习和解决问题变得更加容易。通过熟练掌握Struts2、Spring和Velocity,开发者能够构建出高度模块化、易于维护的Java Web应用。
3. **配置SpringMVC**:创建spring-mvc.xml,设置视图解析器(如VelocityViewResolver),并配置处理器映射器和处理器适配器。 4. **配置Mybatis**:配置mybatis-config.xml,指定mapper文件的位置,以及数据源和...
可能包括Spring的配置XML文件(如`applicationContext.xml`)、Hibernate的配置文件(如`hibernate.cfg.xml`)、Velocity模板文件(`.vm`)以及相关的Java源代码。通过这些配置和代码,我们可以看到具体如何设置数据...
综上所述,"spring+velocity+ajax带进度条上传文件"是一个集成的Web开发解决方案,利用Spring处理文件上传,Velocity构建用户界面,Ajax实现异步通信和进度反馈。这个技术组合能够提供高效、流畅且具有反馈的文件...
本项目为基于Spring JdbcTemplate扩展并结合Velocity模板构建的SQL可配置化、缓存与热部署解决方案源码,总计包含383个文件,包括374个Java源文件、6个XML配置文件、1个Markdown文档、1个JAR包文件以及1个属性文件。...
- **配置 Velocity**:首先需要在 Spring 的配置文件中添加 Velocity 的相关配置,指定模板的存储位置等。 - **创建视图解析器**:通过配置一个 Velocity 视图解析器,该解析器负责将视图名称解析为具体的模板文件...
通过Maven和Spring的集成,整个开发流程变得更加顺畅,而iBatis和Velocity则分别解决了数据访问和视图渲染的问题。使用MySQL作为数据库,保证了数据的可靠存储。整体来看,这是一个高效、稳定且易于扩展的企业级Web...
3. **配置整合**:在Spring的配置文件中,可以配置Hibernate的数据源、SessionFactory,以及Velocity的模板路径等,实现三大框架的无缝集成。 通过这样的整合,开发者可以获得一套高效、灵活且易于维护的Java Web...
4. 配置Velocity:在Spring配置文件中添加VelocityViewResolver,指定模板目录和Velocity工具类。 5. 编写Controller:使用SpringMVC的@Controller注解创建控制器类,定义处理HTTP请求的方法,注入Service层的Bean。...
Struts2、Spring2、Hibernate3、Velocity和Sitemesh是经典的Java Web开发框架组合,它们各自在Web应用的不同层面提供了强大的支持。这个集成框架代码集合了这些技术,旨在提供一个高效、灵活和可扩展的开发环境。 1...
这是一个基于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”提供了一种高效、灵活且可维护的解决方案。以下将详细讲解这些组件及其作用。 1. Maven: Maven是一个项目管理工具,用于构建、依赖管理和项目信息...
3. **配置Velocity**:创建Velocity的配置文件(如:velocity.properties),配置模板的路径、缓存策略等。同时,需要在Spring配置中注册Velocity工具。 4. **创建控制器**:编写SpringMVC的Controller类,处理HTTP...
这整个过程是完全独立于具体的服务器环境的,使得Velocity成为一种跨平台的解决方案。 总的来说,Velocity和Velocity Tools是Java Web开发中的重要组件,它们帮助开发者构建高效、可维护的Web应用,同时保持前后端...
《Spring 3.x企业应用开发实战》是一本深入探讨Spring框架3.x版本的权威指南,旨在帮助...通过深入学习,开发者不仅可以掌握Spring框架的精髓,还能提升解决实际问题的能力,为参与复杂的企业级项目打下坚实基础。