`
angelbill3
  • 浏览: 257411 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

【学习】springMVC+freemarker整合

 
阅读更多
在springMVC的项目中,加入freemarker

1、首先导入springMVC-webmvc所需的JAR包。
(若用maven的话,如下)
<dependency>
    <groupId>org.springfremework</groupId>
    <artifactId>spring-webmvc<artifactId>
    <version>3.2.3.RELEASE</version>
</dependency>


2、配置web.xml(启动mvc框架)
<servlet>  
        <servlet-name>spring</servlet-name>  
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
        <load-on-startup>1</load-on-startup>  
</servlet>  
  
<servlet-mapping>  
        <servlet-name>spring</servlet-name>  
        <url-pattern>*.htm</url-pattern>  
</servlet-mapping>  


相应的xml配置命令规则为:【servlet名字】-servlet.xml,(如本文为:spring-servlet.xml),默认目录和web.xml放一起,即WEB-INF目录下。

3、配置spring-servlet.xml(****重要****)
在spring-servlet文件中加入:(annotation以及包扫描范围已略。)
关于freemarker模版的配置,可以直接在xml里配,也可以用properties文件配。
<!-- 设置freeMarker的配置文件路径 -->  
    <bean id="freemarkerConfiguration" class="org.springframework.beans.factory.config.PropertiesFactoryBean">  
        <property name="location" value="classpath:conf/freemarker.properties"/>  
    </bean>
    
    <!-- 配置freeMarker的模板路径 -->  
    <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">  
        <property name="freemarkerSettings" ref="freemarkerConfiguration"/>  
        <property name="templateLoaderPath">  
            <value>/WEB-INF/ftl/</value>  
        </property>  
    </bean>
      
    <!-- 配置freeMarker视图解析器 -->  
    <bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">  
        <property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView"/>  
        <property name="contentType" value="text/html; charset=utf-8"/>  
        <property name="cache" value="true"/>  
    </bean>


4、新建文件:freemarker.properties,放conf目录下
#设置标签类型:square_bracket:[]     auto_detect:[]<>  
tag_syntax=auto_detect  
#模版缓存时间,单位:秒 
template_update_delay=0  
default_encoding=UTF-8  
output_encoding=UTF-8  
locale=zh_CN  
#设置数字格式 ,防止出现 000.00  
number_format=\#  
#变量为空时,不会报错
classic_compatible=true 
#这个表示每个freemarker的视图页面都会自动引入这个ftl文件。里面定议的就是一些宏,如text文本框,各种form元素 
#auto_import="/WEB-INF/templates/index.ftl" as do  


这个模版属性是比较基本的定义,其中比较重要的是最后一条:auto_import="/WEB-INF/templates/index.ftl" as do,这个表示每个freemarker的视图页面都会自动引入这个ftl文件。里面定议的就是一些宏,如text文本框,各种form元素(本文没作深入研究。)

5、后台新建测试Control类:FreemarkerController
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller  
public class FreemarkerController {  
      
    @RequestMapping("/hi")  
    public String sayHello(ModelMap map){  
        System.out.println("say hi ……");  
  
        map.put("name", "kimi");  
  
        return "/hi.ftl";  
    }  
  
}  

6、前台新建测试页:hi.ftl(放WEB-INF/ftl目录下)
<html>  
<body>  
    <h1>holle world ${name}</h1><br/>  
    1 + 1 = 3? ${(1 != 1)?string("yes", "no")}  
</body>  
</html> 



7、启动项目。
发现报错:Caused by: java.lang.NoClassDefFoundError: org/springframework/ui/freemarker/FreeMarkerConfigurationFactory

少了jar包,再导入spring-context-support-3.2.3.RELEASE包即可。
maven:
<dependency>  
    <groupId>org.springframework</groupId>  
    <artifactId>spring-context-support</artifactId>  
    <version>3.2.3.RELEASE</version>  
</dependency>  


再次启动,没有错,访问项目后,网页内容如下:


------------------------------------------
参考资料:
http://www.360doc.com/content/12/0809/13/4280915_229198282.shtml



分享到:
评论
1 楼 hu3625067 2013-11-26  
受益匪浅

相关推荐

    SpringMVC+Freemarker+Hibernate整合范例

    7. **学习资源**:对于初学者,可以通过在线教程、官方文档和开源项目来学习SpringMVC、Freemarker和Hibernate的整合。理解每个组件的基本概念和API,掌握它们在项目中的实际应用,是提升技能的关键。 通过以上内容...

    最新ssm:Spring + SpringMVC + Mybatis + FreeMarker 整合示例

    Spring + SpringMVC + Mybatis + FreeMarker 整合示例。所用jar包均是目前位置最新版本:201710最新版: spring mvc4.3.12 , mybatis: 3.4.5 , FreeMarker : 2.3.26。 有mysql数据库脚本。导入即可使用。有个简单的...

    maven+springmvc+mybatis+freemarker整合框架

    在“maven+springmvc+mybatis+freemarker”框架整合中,Maven负责管理项目依赖,确保所有组件正确无误地协同工作。 **SpringMVC** SpringMVC是Spring框架的一部分,用于构建Web应用的Model-View-Controller(MVC)...

    springMVC+freemarker整合实例

    **SpringMVC整合FreeMarker** 1. **环境配置** 首先,确保你已经安装了JDK、Maven或Gradle等构建工具,以及Tomcat或Jetty等Web服务器。在`pom.xml`(如果你使用的是Maven)或`build.gradle`(如果你使用的是Gradle...

    springmvc+freemarker+shiro

    在IT行业中,SpringMVC、FreeMarker和Shiro是三个非常重要的框架,它们分别负责不同的功能领域。...通过这个Demo,学习者可以深入理解如何在实际项目中使用SpringMVC、FreeMarker和Shiro,提升自己的Web开发技能。

    【ssm框架】 spring+springMVC+mySQL+myBatis+freemarker+Maven小示例1

    SSM框架是Java web开发中常用的整合框架,由Spring、SpringMVC和MyBatis三个组件构成。这个项目示例提供了使用SSM框架构建Web应用的基础结构,让我们逐一解析其中涉及的技术点。 **Spring框架**:Spring是核心的...

    spring+springMVC+Hibernate整合

    5. **配置视图解析器**:根据项目需求,选择合适的视图解析器,如JSP、Thymeleaf或FreeMarker。设置视图解析规则,确保SpringMVC能够正确地找到并渲染视图。 6. **测试和部署**:完成上述配置后,进行单元测试和...

    springmvc+freemarker带sql的登录事例

    在本示例中,我们将探讨如何使用Spring MVC和FreeMarker框架构建一个带有SQL数据库支持的登录系统。Spring MVC是Spring框架的一部分...通过这个实例,开发者可以学习到如何将这些组件整合起来,构建一个完整的Web应用。

    springmvc+mybatis整合项目

    《SpringMVC与MyBatis整合详解》 在现代企业级Web开发中,SpringMVC和MyBatis是两个非常重要的技术组件。SpringMVC作为Spring框架的一部分,提供了强大的MVC(Model-View-Controller)架构支持,而MyBatis则是一个...

    springmvc+mybatis 和一个简单的freemarker代码生成工具

    在IT行业中,SpringMVC、MyBatis以及FreeMarker是三个非常重要的技术组件,它们各自在Web开发领域中扮演着不同的角色。SpringMVC作为Spring框架的一部分,是用于构建MVC(Model-View-Controller)架构的轻量级Web...

    springMVC + freemarker + apache tiles

    SpringMVC、Freemarker和Apache Tiles是三个在Web...通过学习和实践这个项目,开发者可以了解到如何在SpringMVC中整合模板引擎和页面布局框架,同时掌握Ibatis的基本操作,这对于构建复杂且易维护的Web应用非常有帮助。

    SpringMVC+Hibernate+Spring整合实例

    总的来说,"SpringMVC+Hibernate+Spring整合实例"提供了一个全面的学习平台,帮助开发者深入理解Java企业级应用的开发模式和最佳实践。通过这个实例,你可以提升自己的技能,为未来的项目开发打下坚实的基础。

    权限管理系统SpringMvc+Spring+Mybatis整合升级版

    此外,SpringMVC支持多种视图技术,如JSP、FreeMarker等,使开发者可以根据需求选择合适的展示方式。 Spring框架则提供了依赖注入(DI)和面向切面编程(AOP)等核心特性,使得代码更易于测试和维护。DI允许我们...

    springmvc+mybatis+freemarker

    在这个项目中,`springmvc+mybatis+freemarker` 的组合提供了模型-视图-控制器(MVC)的设计模式,数据持久层的处理以及模板引擎的功能。 Spring MVC 是 Spring 框架的一部分,它为Web应用提供了一个分层架构。...

    springMvc+myBatis+freemarker+maven

    在"springMvc + myBatis + freemarker + maven"的组合项目中,开发者通常会做以下操作: 1. **配置Maven**:在pom.xml文件中,添加Spring MVC、MyBatis、Freemarker等相关依赖,确保项目可以正确构建并运行。 2. *...

    基于SpringBoot+LayUI+Freemarker+Mybatis的通用后台管理系统源码.zip

    基于SpringBoot+LayUI+Freemarker+Mybatis的通用后台管理系统源码.zip 完整代码,可运行 。...SpringMVC+Spring+SpringBoot+LayUI+freemarker 运行环境 IDEA【或者Eclipse】 + Tomcat6以上 + Redis + MySQL5

    idea工具创建的Spring+SpringMVC+Hibernate+maven项目

    标题中的"idea工具创建的Spring+SpringMVC+Hibernate+maven项目"指的是使用IntelliJ IDEA这个集成开发环境(IDE)构建的一个Java Web项目,该项目整合了四个关键的技术框架:Spring、SpringMVC、Hibernate以及Maven...

    ssm(Spring+SpringMVC+MyBatis)整合框架

    SpringMVC通过DispatcherServlet作为前端控制器,将请求分发给处理器,并且支持多种视图技术,如JSP、FreeMarker等。 3. **MyBatis**:MyBatis是一个优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。...

    maven多模块+springMVC+mybatis+freemarker+mysql

    【标题】"maven多模块+springMVC+mybatis+freemarker+mysql" 描述了一种基于Java技术栈的企业级应用开发架构。这个架构整合了多个关键组件,包括项目构建工具Maven、Web层框架Spring MVC、持久层框架MyBatis、模板...

    springmvc+spring+hibernate

    9. **视图层**:可以使用JSP、Thymeleaf、FreeMarker等技术来创建视图。在DispatcherServlet的配置中,设置视图解析器,比如使用InternalResourceViewResolver解析JSP。 10. **测试与部署**:编写JUnit测试用例,对...

Global site tag (gtag.js) - Google Analytics