我的编程空间,编程开发者的网络收藏夹
学习永远不晚

基于SSM 集成 Freemarker模板引擎的方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

基于SSM 集成 Freemarker模板引擎的方法

FreeMarker简介

FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 文等。
可以彻底的分离表现层和业务逻辑。
曾经在使用JSP 开发过程中发现在页面中大量的存在业务逻辑的代码,使得页面内容凌乱,在后期大量的修改维护过程中就变得非常困难

FreeMarker的原理就是:模板+数据模型=输出,模板只负责数据在页面中的表现,不涉及任何的逻辑代码,而所有的逻辑都是由数据模型来处理的。用户最终看到的输出是模板和数据模型合并后创建的。

背景

在前后端分离的大趋势下,项目开发过程中,应尽量减少前端和后台的依赖和耦合,前端和后台尽可能采用 ajax 进行交互;但是全站 ajax,不利于网站 SEO,所以引入模板引擎,尽量减少前端对后端的依赖;SSM 架构下一般采用 Freemarker,Spring Boot 架构下一般推荐采用 Thymeleaf 模板引擎;

SSM 集成 Freemarker

1、引入依赖

<!-- Freemarker 模板引擎 -->
<dependency>
    <groupId>org.freemarker</groupId>
    <artifactId>freemarker</artifactId>
    <version>2.3.29</version>
</dependency>

2、spring mvc 核心配置文件,spring-mvc.xml,添加相关配置;

<!-- freeMarker 视图解析器 -->
<bean id="viewResolverFtl" 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="false"/>
<property name="suffix" value=".ftl"/>
<property name="order" value="0"/>
<property name="requestContextAttribute" value="request"/>
</bean>

<!-- freemarker 核心配置 -->
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<!--解析路径-->
<property name="templateLoaderPath" value="/WEB-INF/view/"></property>
<!-- 设置 FreeMarker 环境属性 -->
<property name="freemarkerSettings">
    <props>
        <!--刷新模板的周期,单位为秒 -->
        <prop key="template_update_delay">5</prop>
        <!--模板的编码格式 -->
        <prop key="default_encoding">UTF-8</prop>
        <!-- 本地化设置 -->
        <prop key="locale">UTF-8</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="boolean_format">true,false</prop>
        <prop key="whitespace_stripping">true</prop>
        <prop key="tag_syntax">auto_detect</prop>
        <prop key="url_escaping_charset">UTF-8</prop>
    </props>
</property>
</bean>

2、Controller 中调用 调用模板,渲染页面效果;

@RequestMapping(value = "/index", method = RequestMethod.GET)
public String index(Model model){
    model.addAttribute("fm","2020");
    return "index";
}

调用模板引擎,跳转到 /WEB-INF/view/index.ftl,传递数据,渲染页面;

3、定义模板文件 命名为:index.ftl;

<!doctype html>
<html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>首页</title>
    </head>
    <body>
        ${fm}
    </body>
</html>

到此这篇关于SSM 集成 Freemarker模板引擎的文章就介绍到这了,更多相关SSM 集成 Freemarker模板引擎内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

基于SSM 集成 Freemarker模板引擎的方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何基于SSM集成Freemarker模板引擎

这篇文章主要为大家展示了“如何基于SSM集成Freemarker模板引擎”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何基于SSM集成Freemarker模板引擎”这篇文章吧。FreeMark
2023-06-28

MyBatis ORM的SQL模板引擎集成

MyBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和
MyBatis ORM的SQL模板引擎集成
2024-09-11

flask中模板引擎的使用方法

小编给大家分享一下flask中模板引擎的使用方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在我们对flask的一些引擎使用时,就不得不提到其中的一个默认引擎了
2023-06-14

SpringBoot+Thymeleaf基于HTML5现代模板引擎的示例分析

这篇文章主要介绍了SpringBoot+Thymeleaf基于HTML5现代模板引擎的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。开始使用1.引入依赖SpringB
2023-05-31

为Python的Tornado框架配置使用Jinja2模板引擎的方法

tornado 默认有一个模板引擎但是功能简单(其实我能用到的都差不多)使用起来颇为麻烦, 而jinja2语法与django模板相似所以决定使用他. 下载jinja2 还是用pip 下载(用的真是爽)pip install jinja2这样
2022-06-04

一个基于flask的web应用诞生 使用模板引擎和表单插件(2)

经过了第一章的内容,已经可以做出一些简单的页面,首先用这种方式做一个登录页面,首先要创建一个login的路由方法:@app.route("/login",methods=["GET"]) def login():html="
2022-06-04

Express框架中使用EJS模板引擎并结合silly-datetime库进行日期格式化的实现方法 原创

这篇文章主要介绍了Express框架中使用EJS模板引擎并结合silly-datetime库进行日期格式化的实现方法,结合具体实例形式分析了express框架引入EJS模版以及导入silly-datetime库的格式化方法传递给EJS模版使用的相关操作技巧,需要的朋友可以参考下
2023-05-20

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录