`
yejiu1433
  • 浏览: 1825 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

集成spring mvc freemarker整合

阅读更多
spring mvc freemarker整合现在已经是很流行的一种架构模式了,写这篇章目的是为了方便以后自己的配置,也希望能为刚学习freemarker的同学一点帮助,废话不多说直接贴上代码:
使用工具:eclipse+maven
整体结构


1、先导入jar包
<!-- freemarker -->
  <dependency>
    <groupId>org.freemarker</groupId>
    <artifactId>freemarker</artifactId>
    <version>2.3.23</version>
</dependency>
<!-- spring -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
    <version>4.3.6.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>4.3.6.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>4.3.6.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>4.3.6.RELEASE</version>
</dependency>
<dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
    <version>1.2</version>
</dependency>
其中我遇到一个错误java.lang.NoSuchFieldError: DEFAULT_INCOMPATIBLE_IMPROVEMENTS
原因就是freemarker版本太低了,Caused by: java.lang.NoClassDefFoundError: org/springframework/ui/freemarker/FreeMarkerConfigurationFactory原因是少了spring-context-support,如果同样遇到的朋友需要注意一下。

2、配置applicationContext.xml
<?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:p="http://www.springframework.org/schema/p" 
    xmlns:aop="http://www.springframework.org/schema/aop"  
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:jee="http://www.springframework.org/schema/jee" 
    xmlns:tx="http://www.springframework.org/schema/tx" 
    xsi:schemaLocation="   
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd 
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd 
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd 
        http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.0.xsd 
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd"> 
 
  <context:component-scan base-package="com.yejiu.spring.freemarker.controller" />
  <bean id="freemarkerConfig" 
      class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> 
    <property name="templateLoaderPath" value="/WEB-INF/view/" /> 
    <property name="freemarkerSettings"> 
        <props> 
            <prop key="template_update_delay">0</prop> 
            <prop key="default_encoding">UTF-8</prop> 
            <prop key="number_format">0.##########</prop> 
            <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop> 
            <prop key="classic_compatible">true</prop> 
            <prop key="template_exception_handler">ignore</prop> 
        </props> 
    </property> 
</bean> 

</beans>

3、在WEB-INF配置springmvc-servlet.xml
<?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:p="http://www.springframework.org/schema/p" 
    xmlns:aop="http://www.springframework.org/schema/aop"  
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:jee="http://www.springframework.org/schema/jee" 
    xmlns:tx="http://www.springframework.org/schema/tx" 
    xsi:schemaLocation="   
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd 
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd 
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd 
        http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.0.xsd 
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">
       
<!-- 使用注解的包,包括子集 -->
<context:component-scan base-package="com.yejiu.spring.freemarker.controller" />
<!-- 视图解析器 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="prefix" value="/" />
<property name="suffix" value=".ftl"></property>
<property name="contentType" value="text/html;charset=UTF-8"></property> 
</bean>   
</beans>
4、配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
http://www.springmodules.org/schema/cache/springmodules-cache.xsd http://www.springmodules.org/schema/cache/springmodules-ehcache.xsd
" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>Freemaker</display-name>
<!--  Spring 上下文参数 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!--  Spring 容器启动器 -->
  <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <servlet>
  <servlet-name>springmvc</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
  <servlet-name>springmvc</servlet-name>
  <url-pattern>/*</url-pattern>
  </servlet-mapping>
</web-app>

5、在view创建hello.ftl模板

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
"http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
    <head> 
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
        <title>${title}</title> 
    </head> 
    <body> 
        ${content}
    </body> 
</html>

6、写一个控制器测试
package com.yejiu.spring.freemarker.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;



@Controller
@RequestMapping("/view")
public class HelloWorkController {

@RequestMapping("/hello")
public String hellowork(Model model){

model.addAttribute("title", "freemarker");
model.addAttribute("content", "welcome to freemarker");
return "hello";
}

}
到此一个freemarker的整合就完成了,就是那么容易
  • 大小: 25.3 KB
分享到:
评论

相关推荐

    spring与freemarker整合 示例源码

    在IT行业中,Spring框架是Java应用开发中的一个核心组件,它提供了一个全面的编程...通过这个示例源码,你可以了解到Spring与Freemarker整合的具体实现,以及在实际项目中如何运用这一组合来构建高效、灵活的Web应用。

    spring mvc 3.0-mybatis-freemarker整合

    在本项目中,我们主要探讨的是如何将Spring MVC 3.0、MyBatis 3 和 Freemarker 2.3 这三个强大的技术框架整合在一起,以构建一个高效且灵活的Web应用程序。以下是对这些技术及其整合过程的详细说明: **Spring MVC ...

    Spring MVC and FreeMarker Sample

    **Spring MVC与FreeMarker整合应用详解** Spring MVC是Spring框架的一部分,它是一个强大的Web应用程序开发模型,用于构建灵活、可维护的Java Web应用。而FreeMarker则是一个模板引擎,允许开发者将逻辑代码与呈现...

    spring mvc, tiles, freemarker集成

    标题中的“Spring MVC, Tiles, Freemarker集成”指的是在Java Web开发中,将Spring MVC作为控制器框架,Tiles作为页面布局工具,而Freemarker作为视图模板引擎进行整合使用的技术方案。这种集成可以帮助开发者构建...

    Spring MVC+MyBatis+FreeMarker整合开发java CMS内容发布系统easycms开源系统

    综上所述,easycms开源系统利用了Spring MVC的MVC架构来处理Web请求,MyBatis来处理数据库操作,FreeMarker则作为模板引擎生成动态视图。这样的组合为开发高效、灵活的内容管理系统提供了坚实的基础。通过学习和使用...

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

    本项目结合了Freemarker、Spring Security、Spring MVC和Spring Data JPA,旨在实现前端JTable的简单CRUD(创建、读取、更新、删除)功能。以下是这些技术的详细介绍及其在项目中的应用。 **Freemarker** 是一个...

    Spring mvc、 Spring、 Spring jdbc 整合实例源码

    在整合Spring MVC、Spring和Spring JDBC的实例中,你可能会看到以下几个关键部分: 1. **配置文件**:包括Spring的主配置文件(如`applicationContext.xml`),其中定义了Bean的配置,包括DataSource、JdbcTemplate...

    Jersey Spring4 Freemarker HIbernate整合搭建

    3. 集成Spring4:配置Spring的ApplicationContext,声明所需的bean,包括DAO、Service等。可以利用Spring的注解如`@Autowired`进行依赖注入。 4. 使用Hibernate4:配置Hibernate的SessionFactory,创建实体类并用`@...

    springmvc spring hibernate整合Demo

    在整合Spring MVC、Spring和Hibernate时,通常步骤如下: 1. 配置Spring:首先,我们需要配置Spring的ApplicationContext,定义Bean并管理它们的生命周期。这通常通过XML或Java配置完成,包括Spring MVC的...

    Spring3.1整合FreeMarker2.3.19

    标题“Spring3.1整合FreeMarker2.3.19”指的是在Spring 3.1版本的框架中集成FreeMarker 2.3.19模板引擎的过程和相关知识点。FreeMarker是一个开源的Java库,用于生成动态HTML、XML或其他类型的文本,常用于Web应用...

    Spring MVC框架的各种依赖包下载

    15. **整合其他技术**:Spring MVC可以轻松集成其他技术,如MyBatis、Hibernate等持久层框架,以及Spring Data JPA、Spring Security等。 通过下载提供的Spring MVC依赖包,你可以快速开始构建自己的Spring MVC项目...

    Spring MVC与MYBatis企业应用实战.pdf

    《Spring MVC与MYBatis企业应用实战》是一本深度探讨如何在实际企业环境中集成和运用Spring MVC和MYBatis两大主流技术的书籍。Spring MVC作为Spring框架的重要组成部分,是Java Web开发中的强大控制器,而MYBatis则...

    SpringMVC-Spring-Mybatis-Freemarker整合

    【SpringMVC-Spring-Mybatis-Freemarker整合】是一个常见的Java Web开发技术栈,主要涉及了四个关键组件:Spring MVC(模型-视图-控制器)、Spring(核心框架)、Mybatis(持久层框架)以及Freemarker(模板引擎)。...

    基于Annoation的spring 2.5+ hibernate + freemarker整合

    本项目"基于Annoation的Spring 2.5+ Hibernate + Freemarker整合"是将这三个框架集成在一起,实现了一个高效、灵活的Web应用程序开发环境。让我们详细探讨这三个框架及其在该项目中的整合应用。 首先,Spring 2.5是...

    Spring MVC eclipse开发(Demo源码)

    2. **Eclipse集成Spring MVC**: 在Eclipse中,可以使用Spring Tools Suite(STS)插件,这是一个专门用于Spring开发的扩展。通过STS,可以快速创建Spring MVC项目模板,包括配置web.xml、spring-servlet.xml等核心...

    spring整合freemarker发送邮件例子

    对于Spring,可以选择Spring Boot项目,因为它集成了许多必要的依赖,如Spring MVC和JavaMailSender。对于Freemarker,需要在`pom.xml`文件中添加Freemarker和JavaMail的相关依赖: ```xml &lt;groupId&gt;org.spring...

    spring mvc整合jpa后项目

    在整合JPA(Java Persistence API)后,Spring MVC项目能够实现数据持久化,为数据库操作提供了方便。 JPA是Java EE规范,它定义了一个接口,允许开发者以面向对象的方式处理关系数据库。JPA通过ORM(对象关系映射...

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

    《Spring MVC、Hibernate与FreeMarker整合开源项目源码解析》 在Java开发领域,Spring MVC、Hibernate和FreeMarker是三个非常重要的技术框架,它们分别在Web应用的模型-视图-控制器(MVC)架构、对象关系映射(ORM...

    spring、 spring mvc、 hibernate、 ehcache JavaWeb后台框架

    Spring MVC支持多种视图技术,如JSP、FreeMarker等。 接下来,Hibernate是一个强大的对象关系映射(Object-Relational Mapping,ORM)框架,它简化了Java应用程序与数据库之间的交互。Hibernate允许开发者用Java...

    《Spring MVC MYBatis企业应用实战+源码》

    5. 集成Spring Data JPA或MyBatis的Mapper,实现更高级的数据访问功能。 6. 整合Spring Security或Shiro进行安全控制,保护敏感资源。 7. 使用Spring MVC的视图技术,如Thymeleaf或FreeMarker,构建前端页面。 8. ...

Global site tag (gtag.js) - Google Analytics