`
xitong
  • 浏览: 6416549 次
文章分类
社区版块
存档分类
最新评论

使用freemarker在spring项目中输出XML

 
阅读更多

使用freemarker在spring项目中输出XML

第一次在项目中使用freemarker作输出的render。并且是spring的项目。感觉使用起来确实很方便。

只要在*-servlet.xml里面写下这个:

<bean id="freemarkerConfigurer"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath" value="WEB-INF/views/" />
<property name="freemarkerSettings">
<props>
<!--
<prop key="template_update_delay">3600</prop>
-->
<prop key="defaultEncoding">UTF-8</prop>
</props>
</property>
</bean>

就声明了一个freemarker的配置,然后再继续写下这个:

<bean id="viewResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="suffix" value=".ftl" />
<property name="contentType" value="text/html;charset=UTF-8"></property>
</bean>

就配置了一个freemarker的viewResolver,处理.ftl为后缀的模板,并且指定内容类型HTML,编码UTF-8。

这里和上面的配置里面都指定编码,才会起作用,仅仅在其中一个配置中指定是无效的。这样HTML页面输出没有问题了。

然后,就遇到了一个问题,项目中还要输出XML文件,因此又追加了如下的内容:

<bean id="xmlviewResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="suffix" value=".xmlftl" />
<property name="contentType" value="text/xml;charset=UTF-8"></property>
</bean>

这个配置了一个freemarker的xmlviewResolver,处理.xmlftl为后缀的模板,并且指定内容类型XML,编码UTF-8。

结果报错:Could not load FreeMarker template for URL

把这个xmlviewResolver和viewResolver里面追加order属性,和viewNames属性,问题解决。如下:

<bean id="viewResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="suffix" value=".ftl" />
<property name="contentType" value="text/html;charset=UTF-8"></property>
<property name="order" value="2"/>

</bean>

<bean id="xmlviewResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="suffix" value=".xmlftl" />
<property name="contentType" value="text/xml;charset=UTF-8"></property>

<property name="order" value="1"/>
<property name="viewNames" value="*.xml"/>

</bean>

因此,freemarker使用起来确实很方便,但是一定要注意配置的*viewResolver的顺序,把特别一点的模板配置在前面。利用order属性和viewNames属性即可。

分享到:
评论

相关推荐

    手动创建 SpringMvc +SpringDataJpa+Hibernate+ freemarker mavenProject+ 环境切换 webDemo

    在本项目中,我们主要探讨如何手动构建一个基于SpringMVC、Spring Data JPA、Hibernate以及FreeMarker模板引擎的Maven工程,同时实现环境切换功能。这个基础框架为日常开发工作提供了必要的支持。 首先,SpringMVC...

    Spring+Maven+freemarker+Ibatis项目

    1. 使用Maven构建项目,并在pom.xml中引入相应的依赖,如Spring、Freemarker、Ibatis的库。 2. 配置Spring,创建ApplicationContext.xml,定义Bean,包括数据源、SqlSessionFactory、Mapper接口等。 3. 集成Ibatis,...

    FreeMarker整合Spring_3

    2. **引入必要的jar包**:在项目的lib目录下放置Spring Framework和FreeMarker的相关jar包。 3. **配置web.xml文件**:设置Spring的监听器和DispatcherServlet,这是Spring MVC的核心配置。 ```xml &lt;!-- Spring...

    freemarker+spring+maven代码

    通过在`pom.xml`文件中定义项目依赖,Maven可以自动下载并管理所需库,使得项目构建过程标准化。 ### 二、Spring框架 Spring是一款开源的Java企业级应用框架,它提供了诸如依赖注入(DI)、面向切面编程(AOP)等...

    spring与freemarker整合 示例源码

    在提供的压缩包`freemarkerSpring`中,应包含以下内容: - Spring配置文件,如`applicationContext.xml`,展示了如何配置Freemarker相关Bean。 - Freemarker模板文件,如`templates`目录下的`.ftl`文件,展示了模板...

    SpringMVC Spring4 Hibernate4 Freemarker项目搭建

    此外,SpringMVC支持多种视图技术,包括JSP、Thymeleaf和我们项目中使用的Freemarker。 Spring4是全面的Java企业级应用开发框架,提供依赖注入(DI)、AOP(面向切面编程)、事务管理、数据访问、Web服务等众多功能...

    Freemarker整合Spring

    - 首先,需要在Spring的配置文件(如`applicationContext.xml`或`dispatcher-servlet.xml`)中添加Freemarker的配置。这包括设置Freemarker的模板路径、配置对象模型等。 ```xml ...

    FreeMarker整合Spring 3.0

    1. **添加依赖**:在项目的`pom.xml`或`build.gradle`文件中添加FreeMarker和Spring MVC的依赖库,确保项目可以正常导入所需的类库。 2. **配置FreeMarker**:在Spring的配置文件(如`applicationContext.xml`)中...

    spring mvc, tiles, freemarker集成

    3. **配置Tiles**:添加Tiles的配置,包括设置tiles定义(如`tiles-defs.xml`),在Spring配置文件中配置TilesViewResolver,以及在web.xml中配置Tiles的监听器。 4. **配置Freemarker**:在Spring配置文件中,配置...

    SpringDataJpa整合FreeMarker源码样例

    1. **添加依赖**:在`pom.xml`或`build.gradle`文件中添加Spring Data JPA、Spring Boot的Web支持以及FreeMarker的相关依赖。 2. **配置JPA**:在`application.properties`中设置数据源、JPA属性,例如数据库连接...

    Spring配置Freemarker视图解析器,前台页面全部使用freemarker渲染

    在Spring框架中,Freemarker是一个常用的模板引擎,用于生成动态HTML或其他文本格式的输出。它允许开发者将业务逻辑与视图层分离,提供了一种灵活的方式来构建Web应用程序的前端。下面我们将深入探讨如何配置Spring...

    Spring mvc+hibernate+freemarker(开源项目)

    4. **配置文件设置**:在web.xml中配置Spring, log4j, struts, hibernate等。 5. **国际化支持**:资源文件配置,支持多语言。 6. **视图配置**:定义视图路径和登录地址。 7. **单元测试**:使用JUnit 4进行业务层...

    spring MVC3 集成 freemarker

    1. **添加依赖**:在项目中引入FreeMarker的相关依赖,通常是通过Maven或Gradle来管理。在`pom.xml`或`build.gradle`文件中添加相应的依赖项。 2. **配置Spring MVC**:在Spring的配置文件(如`dispatcher-servlet....

    spring boot mybatis freemarker整合项目

    1. 创建新项目:在IntelliJ IDEA中选择Spring Initializr,配置项目基本信息,包括Group、Artifact、Version等,并勾选Spring Web、MyBatis、Freemarker等相关依赖。 2. 导入源码:导入下载的项目源码,IDEA会自动...

    freemarker 中文乱码解决

    在处理Freemarker模板引擎时,中文乱码问题是一个常见的挑战,尤其是在国际化应用中。Freemarker是一款功能强大的模板引擎,被广泛应用于Web开发中,用于动态生成HTML、XML等文本格式的页面。然而,当涉及到非英文...

    spring mvc freemarker 简单例子

    下面将详细介绍如何在Spring MVC项目中集成并使用Freemarker。 1. **环境配置**: - 首先,确保项目已经引入了Spring MVC和Freemarker的相关依赖库,如`spring-webmvc`和`freemarker`。 - 在Spring的配置文件...

    Freemarker整合spring实例详解

    首先,我们需要在Spring配置文件(如`applicationContext.xml`)中配置Freemarker的相关设置。这包括添加`FreeMarkerConfigurer` bean来设置Freemarker的配置参数,例如模板路径、编码方式等。示例配置如下: ```...

    struts2中使用freeMarker

    在Struts2中使用FreeMarker,主要涉及以下几个核心概念和步骤: 1. **配置FreeMarker**: - 在Struts2的配置文件(通常为struts.xml)中,你需要指定FreeMarker作为默认的视图技术。 - 配置FreeMarker的路径,...

    spring mvc +freemarker不错的mvc搭配

    Spring MVC 是一个强大...在Spring MVC中集成FreeMarker,首先需要在项目的配置文件(如`servlet-context.xml`)中配置FreeMarker视图解析器。这通常包括指定模板目录、编码格式和是否缓存模板等设置。例如: ```xml ...

    Spring boot + Mybatis + Freemarker

    - 添加依赖:在pom.xml或build.gradle文件中,引入spring-boot-starter-freemarker依赖。 - 配置:在application.properties中配置FreeMarker模板的位置、编码方式等信息。 - 创建视图解析器:Spring Boot默认已经...

Global site tag (gtag.js) - Google Analytics