项目中用到velocity的模板功能.但是发现输出是乱码.spring配置文件如下:
<bean id="velocityConfig" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<property name="configLocation">
<value>/WEB-INF/conf/velocity.properties</value>
</property>
<property name="resourceLoaderPath">
<value>/WEB-INF/templates/</value>
</property>
<property name="velocityProperties">
<props>
<prop key="resource.loader">file</prop>
<prop key="file.resource.loader.class">
org.apache.velocity.runtime.resource.loader.FileResourceLoader
</prop>
<prop key="input.encoding">UTF-8</prop>
<prop key="output.encoding">UTF-8</prop>
<prop key="file.resource.loader.cache">true</prop>
<prop
key="file.resource.loader.modificationCheckInterval">
2
</prop>
<prop key="velocimacro.library">macro_ebuy.vm</prop>
</props>
</property>
</bean>
<bean id="viewResolver"
class="com.jute.framework.web.velocity.VelocityViewResolver">
<property name="cache">
<value>true</value>
</property>
<property name="prefix">
<value>/</value>
</property>
<property name="suffix">
<value>.vm</value>
</property>
<property name="contentType">
<value>text/html; charset=UTF-8</value>
</property>
<property name="exposeSpringMacroHelpers">
<value>true</value>
</property>
</bean>
输出都是UTF-8的.但是打印在控控制台中的中文字符和符号都是乱码.后来将getTemplate方法换成Velocity.mergeTemplate(template, "UTF-8", context, writer);万事OK.
分享到:
相关推荐
集成sitemesh2和velocity时,可能会遇到页面乱码问题。这通常是由于字符编码设置不一致导致的。为解决这个问题,我们需要确保以下几个方面都使用了正确的字符编码: 1. **项目配置**:确保你的项目配置文件(如web....
通过理解Velocity的工作原理,以及如何正确配置和使用ResourceLoader,可以有效地避免这些问题,使 Velocity 能够顺利地处理模板文件并呈现预期的输出。对于中文乱码问题,明确模板文件的编码并在初始化时指定,能...
Velocity是Apache软件基金会的一个开源项目,它是一款强大的模板引擎,常用于生成动态Web内容。在IT行业中,Velocity被广泛应用于代码生成工具,如本实例所示,它可以用来自动生成getter、setter方法以及toString等...
根据提供的标题、描述、标签及部分内容,我们可以了解到这段资料主要涉及的是Velocity模板引擎在.NET环境下的使用,并且特别提到了如何解决中文字符显示时出现的乱码问题。下面将对这些知识点进行详细的解读。 ### ...
然后,在Java代码中初始化Velocity引擎,并通过Velocity引擎读取模板文件,再将Java对象数据传入模板,最终合并生成最终的文本输出。 具体实现步骤如下: 1. 创建模板文件hello.vm,在文件中定义输出内容,比如...
4. **Velocity模版视图(Velocity View)**:这是一个MVC框架的一部分,用于处理视图层,它可以将模型数据渲染成HTML或其他格式的输出。 5. **自定义工具(Customizable Tools)**:Velocity Tools允许开发者自定义工具...
Velocity是Apache软件基金会的一个开源项目,它是一款强大的模板引擎,主要用于生成动态Web内容。 Velocity的主要优点在于其简单易用和高度可扩展性,使得开发者能够将业务逻辑与表现层分离,提高代码的可读性和维护...
3. **错误检查**:在编写过程中,插件能够实时检测模板中的语法错误,避免在运行时出现意外问题。 4. **格式化与重构**:支持 Velocity 模板的代码格式化,保持代码整洁;同时,插件可能提供重构功能,方便调整模板...
- **FreeMarker**拥有一个庞大的用户群和活跃的社区支持,这意味着在遇到问题时更容易找到解决方案。 - **Velocity**虽然社区规模较小,但也有一批忠实的用户和支持者。 #### 六、应用场景 - **Velocity**更适合于...
2. **velocity-1.4.jar**:这是Velocity的主要库文件,包含了 Velocity Engine的核心实现。它负责解析模板,执行嵌入的Java代码,并生成最终的输出。版本1.4是一个较早的版本,但依然稳定且广泛使用。其中包含了许多...
这两个指令属于Velocity Tools的扩展,如果你的项目中引入了Velocity Tools,可以通过在`velocity.properties`文件中添加以下配置来启用它们: ```properties userdirective = org.apache.velocity.tools.generic....
3. **合并上下文和模板**:通过`VelocityTemplate.merge(context, writer)`方法,将上下文中的数据与模板结合,生成最终的输出。 4. **输出结果**:生成的输出可以写入到文件、流或其他输出设备。 **Velocity的优势...
在使用Velocity时,可能会遇到需要调试或记录错误的情况,这时Log4j可以帮助我们跟踪和记录这些问题。 `eclipse相关插件`,虽然不是必需的jar包,但对于使用Eclipse作为IDE的开发者来说,可能需要安装Velocity支持...
`VelocityTest` 文件可能是项目中的主要源代码文件,它可能包含了初始化Velocity上下文、加载模板和渲染输出的过程。例如,它可能有以下代码片段: ```java VelocityContext context = new VelocityContext(); ...
文档提到了基本使用模式,这意味着Velocity提供了一套基本的使用方式,包括模板定义、数据绑定以及渲染输出等流程。 7. 单实例和多实例问题: 文档探讨了单实例模式(Singleton Model)和多实例模式(Separate ...
3. **引擎(Engine)**: 引擎是Velocity的核心组件,负责解析模板,创建上下文,并将结果输出到指定的输出流。 4. **指令(Directives)**: 指令是Velocity模板语言中的特殊关键字,用于控制流程或进行复杂的操作,...
首先,从功能上来讲,Freemarker 在 View 层提供了 format 日期和数字的功能,这个功能非常贴心,解决了我们在页面上格式化日期或数字的问题。 Velocity 也提供了类似的功能,但是 Freemarker 的实现更加完善。 ...
- Velocity提供错误报告和日志功能,帮助开发者调试模板中的问题。 - 设置`runtime.log.error.stacktrace`和`runtime.log.warn.stacktrace`为true,可以在出错时打印堆栈跟踪信息。 6. **最佳实践** - 尽量避免...
首先,Velocity的工作原理是通过模板语言,允许开发者将静态内容与动态数据结合,生成最终的输出。它的语法简洁,易于理解,特别适合生成基于模板的文档。例如,你可以定义一个Velocity模板,其中包含固定的文字格式...