`

MVC模式下FreeMarker视图解析器与属性配置

阅读更多

FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成 HTML。模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。

FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写  

FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序  

虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据  

FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件  

FreeMarker与容器无关,因为它并不知道HTTP或Servlet;

FreeMarker同样可以应用于非Web应用程序环境  

FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库

 

<?xml version="1.0" encoding="UTF-8"?>

<!-- 对所有类进行扫描,以完成Bean创建和自动依赖注入的功能(除去带@Service注解的类) -->
<context:component-scan base-package="com.bolo">
	<context:exclude-filter type="annotation"
	               expression="org.springframework.stereotype.Service"/>
</context:component-scan>

<!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>

<!-- 定义FreeMarker视图解析器与属性配置 -->
<bean id="viewResolver"
     class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
     <property name="cache" value="true" />
     <property name="prefix" value="" />
     <property name="suffix" value=".html" />
     <property name="viewClass" 
          value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />
     <property name="exposeSpringMacroHelpers" value="true" />
     <property name="exposeRequestAttributes" value="true" />
     <property name="exposeSessionAttributes" value="true" />
     <property name="requestContextAttribute" value="rc" />
     <property name="contentType" value="text/html;charset=UTF-8" />
</bean>

<bean id="freemarkerConfig"
	class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
	<property name="templateLoaderPath" value="/pages"/>
	<property name="freemarkerSettings">
		<props>
			<prop key="template_update_delay">5</prop>
			<prop key="defaultEncoding">UTF-8</prop>
			<prop key="url_escaping_charset">UTF-8</prop>
			<prop key="locale">zh_CN</prop>
			<prop key="boolean_format">true,false</prop>
			<prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
			<prop key="time_format">HH:mm:ss</prop>
			<prop key="number_format">0.######</prop>
			<prop key="whitespace_stripping">true</prop>
		</props>
	</property>	
</bean>
分享到:
评论
1 楼 wnxajh 2015-06-29  
   

相关推荐

    spring mvc 3.2 参考文档

    Spring Web model-view-controller (MVC)框架是围绕 DispatcherServlet 设计的,并分发请求到处理程序(handler),Spring MVC支持可配置的处理程序映射(handler mapping),视图解析(view resolution)、 区域设置...

    spring in action英文版

     8.4.3 选择视图解析器  8.5 使用Spring的绑定标签  8.6 处理异常  8.7 小结  第9章 其他视图技术  9.1 使用Velocity模板  9.1.1 定义Velocity视图  9.1.2 配置Velocity引擎  9.1.3 解析...

    Spring API

    13.5.1. 视图解析器(ViewResolver) 13.5.2. 视图解析链 13.5.3. 重定向(Rediret)到另一个视图 13.6. 本地化解析器 13.6.1. AcceptHeaderLocaleResolver 13.6.2. CookieLocaleResolver 13.6.3. ...

    Spring中文帮助文档

    13.5.1. 视图解析器(ViewResolver) 13.5.2. 视图解析链 13.5.3. 重定向(Rediret)到另一个视图 13.6. 本地化解析器 13.6.1. AcceptHeaderLocaleResolver 13.6.2. CookieLocaleResolver 13.6.3. ...

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

    13.5.1. 视图解析器 13.5.2. 视图解析链 13.5.3. 重定向(Rediret)到另一个视图 13.5.3.1. RedirectView 13.5.3.2. redirect:前缀 13.5.3.3. forward:前缀 13.6. 本地化解析器 13.6.1. AcceptHeaderLocaleResolver ...

    Spring 2.0 开发参考手册

    13.5.1. 视图解析器 13.5.2. 视图解析链 13.5.3. 重定向(Rediret)到另一个视图 13.6. 本地化解析器 13.6.1. AcceptHeaderLocaleResolver 13.6.2. CookieLocaleResolver 13.6.3. SessionLocaleResolver 13.6.4...

    spring chm文档

    13.5.1. 视图解析器 13.5.2. 视图解析链 13.5.3. 重定向(Rediret)到另一个视图 13.6. 本地化解析器 13.6.1. AcceptHeaderLocaleResolver 13.6.2. CookieLocaleResolver 13.6.3. SessionLocaleResolver 13.6.4...

    Spring in Action(第二版 中文高清版).part2

    14.1.3 选择视图解析器 14.2 使用Spring模板 14.2.1 绑定表单数据 14.2.2 渲染被存储在外部的文本 14.2.3 显示错误 14.3 使用Tile设计页面布局 14.3.1 Tile视图 14.3.2 Tile控制器 14.4 使用JSP的替代...

    Spring in Action(第二版 中文高清版).part1

    14.1.3 选择视图解析器 14.2 使用Spring模板 14.2.1 绑定表单数据 14.2.2 渲染被存储在外部的文本 14.2.3 显示错误 14.3 使用Tile设计页面布局 14.3.1 Tile视图 14.3.2 Tile控制器 14.4 使用JSP的替代...

    Java Web程序设计教程

    5.3.2结果与视图 91 5.3.3struts.xml的配置 94 5.4值栈与ognl表达式 100 5.5struts2的标签库 103 5.5.1控制标签 103 5.5.2数据标签 104 5.5.3表单标签 105 5.5.4非表单ui标签 107 本章小结 108 课后练习 ...

    JAVA上百实例源码以及开源项目源代码

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    JAVA上百实例源码以及开源项目

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

Global site tag (gtag.js) - Google Analytics