`
acen.chen
  • 浏览: 157320 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

.spring3 mvc以freemarker作为视图层的详细配置和解释

阅读更多
1、还是使用atomikos里面的那个项目,因为我使用的就是freemarker视图:
Spring + Atomikos配置多个数据源,并且管理事务 - java_jian - java_jian的博客
包结构如上,其实这里面我们就只要看2个配置文件就行了:
第一个:freemarker.properties

#template_update_delay=1
datetime_format=yyyy-MM-dd HH:mm:ss
date_format=yyyy-MM-dd
time_format=HH:mm:ss
number_format=0.######;
boolean_format=true,false
auto_import="/common/index.ftl" as ui
whitespace_stripping=true
default_encoding=UTF-8
tag_syntax=auto_detect
url_escaping_charset=UTF-8

里面大部分都不解释了,就解释一个,
auto_import="/common/index.ftl" as ui 这个表示每个freemarker的视图页面都会自动引入这个ftl文件。里面定义的就是一些宏,如text文本框,各种form元素,此处不多做解释,会freemarker的都知道,这里只讲spring3mvc 配置freemarker视图。

第一个配置文件:spring的mvc.xml在web-info下面的spring文件夹下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:mvc="http://www.springframework.org/schema/mvc" 
xmlns:util="http://www.springframework.org/schema/util" xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">
<mvc:annotation-driven />
<!-- 支持 @AspectJ 标记-->
<aop:aspectj-autoproxy proxy-target-class="true"/>
<context:component-scan base-package="code.main.bean.controller" />
<!--此处对应urlrewrite里面的配置,就是一些静态文件的存放目录,可以直接加载,原来spring rest里面会把这里也拦截掉,页面加载不了图片,js,样式表之类的 ,这个是3.0.4之后出来的标签
<rule> <from>/resources/**</from> <to>/resources/$1</to> </rule>
上面这些就是urlrewrite.xml的配置。
 -->
<mvc:resources location="/resources/" mapping="/resources/**" />
<context:component-scan base-package="code.main.bean.aop">
<context:include-filter type="annotation" expression="org.aspectj.lang.annotation.Aspect"/>
</context:component-scan>

<!-- 使用注解映射 -->
<bean id="handlerMapping" class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
</bean>
<!-- 让springmvc支持文件上传 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
     <property name="maxInMemorySize" value="2048"></property>
     <property name="maxUploadSize" value="1000000000"/>
     <property name="uploadTempDir" value="tmoDir"></property>
    </bean>
<!-- 让controller 返回json的配置 -->
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<util:list id="beanList">
<ref bean="mappingJacksonHttpMessageConverter" />
</util:list>
</property>
</bean>
<!--配置freemarker视图重点配置 -->
<bean id="freemarkerResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="order" value="1" /> 
<property name="prefix" value="" /> <!--前缀-->
<property name="suffix" value=".html" /><!--后缀-->
<property name="contentType" value="text/html;charset=utf-8" /><!--编码-->
<property name="viewClass">
<value>
org.springframework.web.servlet.view.freemarker.FreeMarkerView
</value>
</property>
<!-- 上下文,这里配置之后,fkt文件中可以使用${rc.getContextPath()} 来获取文件上下文,类似jsp的request.getContextPath() -->
<property name="requestContextAttribute" value="rc"></property>
<!--
  如果freemarker自定义函数的话:有个属性 attributesMap这个属性,里面支持方一个map,key-value的方式来定义你的自定义函数。
类要实现freemarker提供的接口。
-->
</bean>
<!-- 这里定义freemarker.properties文件的加载,和后面的对应。 -->
<bean id="freemarkerConfiguration" class="org.springframework.beans.factory.config.PropertiesFactoryBean">  
 <property name="location" value="classpath:freemarker.properties"/>  
</bean>
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="defaultEncoding" value="UTF-8" />
<property name="templateLoaderPath" value="/WEB-INF/pages"/> <!-- 模板加载路径 -->
<property name="freemarkerSettings" ref="freemarkerConfiguration"/>  
</bean>
<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />
</beans>
分享到:
评论

相关推荐

    spring3 mvc restful freemarker jquery json

    FreeMarker模板引擎用于生成视图层,它与Spring3 MVC配合,接收由后台传递的数据模型,并根据模板规则生成动态HTML页面。开发者在FreeMarker模板中定义变量和逻辑,FreeMarker会将这些变量与后台传递的对象进行绑定...

    spring MVC + freeMarker

    Spring MVC 和 FreeMarker 是两个在Java Web开发中广泛使用的框架,它们共同构建了一个高效、灵活的Web应用程序。Spring MVC是Spring框架的一部分,主要用于处理HTTP请求和响应,而FreeMarker则是一个模板引擎,用于...

    Spring MVC整合FreeMarker

    - 在 Spring MVC 的配置文件(如 `servlet-context.xml`)中,我们需要添加 FreeMarker 的配置,包括视图解析器(`FreemarkerViewResolver`)和 FreeMarker 配置工厂(`FreemarkerConfig`)。 - 视图解析器用于...

    Spring MVC + Tiles + FreeMarker 的整合

    在Spring MVC和Tiles的结合中,FreeMarker常作为视图层的模板引擎。开发者可以在FreeMarker模板中定义变量和逻辑,然后在服务器端填充这些变量,最后由FreeMarker生成最终的HTML响应。 **整合过程** 1. **设置项目...

    spring mvc mybatis freemarker 开发CMS代码

    这个项目利用了Spring MVC作为控制层框架,MyBatis作为数据访问层框架,以及Freemarker作为视图模板引擎,构建了一个高效且灵活的Web应用。 【Spring MVC】是Spring框架的一部分,主要用于处理Web应用程序的请求-...

    Spring3 MVC 深入研究

    Spring3 MVC以其灵活的架构和强大的功能,成为Java Web开发的首选框架之一。通过深入理解其核心机制和最佳实践,开发者可以构建高效、可维护的Web应用。随着Spring框架的不断演进,如Spring Boot和Spring Cloud等,...

    spring-MVC.zip_Java spring mvc_spring mvc_spring mvc

    在提供的"spring MVC.docx"文档中,可能详细介绍了如何配置Spring MVC环境,创建Controller,处理请求,以及如何配置视图解析器等内容。对于初学者来说,这是一份很好的实践指南,可以帮助理解Spring MVC的工作原理...

    整合 freemarker +spring security + spring MVC + spring DATA jpa 前端jtable 简单的crud

    在本项目中,JTable将与后端的Spring MVC和Freemarker接口通信,发送请求以获取数据,更新表格,并处理用户对数据的修改。 项目文件"jinandi"可能包含了该项目的所有源码,包括Freemarker模板文件、Spring配置文件...

    spring mvc freemarker 自定义标签

    下面将详细介绍Spring MVC与Freemarker自定义标签的使用。 首先,我们需要了解Freemarker的基础。Freemarker是一个基于模板的语言,它的主要任务是根据数据模型生成输出。在Spring MVC中,Freemarker模板通常用于...

    spring-web.jar spring-webmvc.jar

    3. **模型-视图-适配器(MVA)模式**:`ModelAndView`对象用于封装处理结果,包含模型数据和视图名称,便于将数据传递到视图层。 4. **视图解析**:Spring MVC支持多种视图技术,如JSP、Thymeleaf、FreeMarker等,...

    Spring-MVC-3.0.rar_Java spring mvc_spring mvc_spring ppt

    7. **New tags in JSP tags library**:提供了更多的JSP标签库,简化视图层的开发。 **实战指南PPT内容** 这份PPT很可能涵盖了Spring MVC 3.0的基本概念、配置、控制器、模型绑定、视图解析、拦截器以及如何构建...

    spring MVC .docx

    Spring MVC 是一个基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要...在提供的文档"spring MVC .docx"中,应该包含了关于这些知识点的详细解释和示例代码,帮助读者更好地理解和应用Spring MVC框架。

    spring mvc﹨hibernate﹨freemarker开源项目源码下载.zip

    当我们提到"spring mvc﹨hibernate﹨freemarker开源项目源码下载"时,我们可以推测这是一个使用Spring MVC作为控制层,Hibernate作为持久层,FreeMarker作为视图层的完整Web项目。通过分析这个开源项目的源码,我们...

    Spring-MVC的demo

    在Spring MVC中,通常使用JavaBeans或POJO(Plain Old Java Object)作为模型对象,这些对象存储并管理业务数据。 3. **视图(View)** 视图层负责展示数据,通常使用JSP、FreeMarker、Thymeleaf等模板引擎来生成...

    spring2.5 mvc 完整项目

    4. **模型与视图**:在控制器中处理业务逻辑后,可以使用ModelAndView对象或直接返回视图名称,Spring MVC会根据配置找到对应的视图,如JSP、FreeMarker或Thymeleaf等。 5. **数据访问层**:集成数据库访问技术,如...

    外文翻译Spring的MVC构架模式-CSDN下载

    此外,Spring Boot进一步简化了Spring MVC的配置,使得快速开发Web应用变得更加便捷。 总结来说,Spring MVC是一个强大且灵活的Web开发框架,其模型-视图-控制器架构为开发者提供了清晰的职责划分,有助于构建高...

    SpringMVC Spring4 Hibernate4 Freemarker项目搭建

    在SpringMVC中,Freemarker作为视图层技术,负责将后台数据渲染成用户可见的页面。开发者定义模板文件,其中包含静态内容和占位符,Freemarker引擎会根据传入的数据模型替换这些占位符,生成最终的HTML响应。这种...

    Spring MVC 4.2.3

    在"Spring MVC 4.2.3"版本中,我们看到了一系列的功能改进和优化,以提升开发效率和应用性能。 首先,让我们深入了解Spring MVC的基础架构。模型(Model)负责存储应用的数据,视图(View)用于展示这些数据,而...

    spring mvc

    Spring MVC并不关心视图层的具体实现,它可以与多种视图技术如JSP、Velocity、Tiles等集成,这给予了开发者极大的灵活性。 Spring MVC的优点包括: 1. 高度可配置:Spring MVC的可插拔架构允许开发者选择内置的...

Global site tag (gtag.js) - Google Analytics