freemarker学习#1】的更多相关文章

一.FreeMarker FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件.(百度百科)  FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件. FreeMarker与容器无关,因为它并不知道HTTP或Servlet:FreeMarker同样可以应用于非Web应用程序环境. 优点: 1. …
在网上找到了尚学堂的视频,同时有书和源码等资料.但是在跟着练习的过程中,代码运行报了错: 2015-7-20 22:26:40 freemarker.log.JDK14LoggerFactory$JDK14Logger error严重: Don't know how to present an object of this type to a template: com.sxt.test.freemarker.AddressQuoting problematic instruction:----…
在工作的过程中遇到了.ftl文件.打开发现里面是一些类似于html的代码,非常好奇这是一种什么样的文件,于是去网上搜了一下,了解到.ftl是Freemarker模板的文件后缀名.将问题转移到了Freemarker模板是一个什么东西.没办法.继续到网上寻找相关资料.下面内容来源于网络,感谢! ! 1.Freemarker是什么? 百度百科说:Freemarker是一款模板引擎.我是小白,非常遗憾,我也不知道模板引擎是个什么东西.不怕,继续百度模板引擎,百度百科继续说,模板引擎(特指用于web开发的…
原文链接:https://my.oschina.net/weiweiblog/blog/506301?p=1 用户定义指令-使用@符合来调用  有两种不同的类型:Macro(宏)和transform(传递器),Macro是在模板中使用macro指令定义,而transform是在模板外由程序定义(基本上都是基于Java的),这里通过Macro来介绍自定义指令.  例一:  <#macro greet>  <font size="+2">Hello Joe!<…
链接: http://swiftlet.net/archives/category/freemarker…
copy自http://demojava.iteye.com/blog/800204 以下内容全部是网上收集: FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:<#-- ... -->格式部分,不会输出 3,插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出 4,FTL指令:FreeMarker指定,和HTML标记类似,名字前加#予以区分,不会输出 下面是一个FreeM…
什么是freemarker? freemarker类似于jsp,但不是jsp!怎么说呢?freemarker文件后缀是.ftl,它不像jsp本质是servlet,它将构建模板.解析模板.使用模板分离开来了. 这个回答很好:源于:https://zhidao.baidu.com/question/489425455706898652.html 运行机制就不大一样,jsp是编译成继承自servlet的class文件,运行jsp就是运行一个servlet 而freemarker就是套模板,通过模板+内…
在模板中定义的变量有三种类型: 引用 1:plain变量:可以在模板的任何地方访问,包括使用include指令插入的模板,使用assign指令创建和替换. 2:局部变量:在宏定义体中有效,使用local指令创建和替换. 3:循环变量:只能存在于指令的嵌套内容,由指令(如list)自动创建:宏的参数是局部变量,而不是循环变量 局部变量隐藏(而不是覆盖)同名的plain变量:循环变量隐藏同名的局部变量和plain变量 <#assign x = "plain"> 1. ${x}…
FreeMarker 笔记: 1. 注释:   <#-- 注释内容 -#> 2.<#if condition> content1 <#else> content2 <#if> 条件可以表示:a==b , a!=b,a>b,a<b ,a<=b,||,&&,!等 eg: <#if user.name=="rhythmk"> A good boy! <#if> 3.list 指令 <…
一. 基本概念 ${...}: FreeMarker将会输出真实的值来替换大括号内的表达式,这样的表达式插值 FTL 标签 (FreeMarker模板的语言标签): FTL标签和HTML标签有一些相似之处,但是它们是FreeMarker的指令,是不会在输出中打印的. 这些标签的名字以 # 开头.(用户自定义的FTL标签则需要使用 @ 来代替 #) 基本指令 if指令 使用 if 指令可以有条件地跳过模板的一些片段. <html> <head> <title>Welcom…
springMvc配置 <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPath" value="/WEB-INF/templates/"/> <property name=&…
参考:http://freemarker.foofun.cn/dgui_quickstart_basics.html assign: 使用该指令你可以创建一个新的变量, 或者替换一个已经存在的变量 attempt, recover: 如果你想让页面成功输出内容,尽管它在页面特定位置发生错误也这样, 那么这些指令就是有用的.如果一个错误在 attempt block 执行期间发生, 那么模板执行就会中止,但是 recover block 会代替 attempt block 执行. 如果在 atte…
内容参考:http://freemarker.foofun.cn/dgui_quickstart_basics.html 一.字符串内建函数 boolean: 字符串转为布尔值.字符串必须是 true 或 false (大小写敏感!). cap_first: 字符串中的首单词的首字母大写. capitalize: 字符串中所有单词的首字母大写. chop_linebreak: 在末尾没有换行符的字符串, 那么可以换行,否则不改变字符串. contains: 如果函数中的参数指定的子串出现在源字符…
直接指定值 字符串: "Foo" 或者 'Foo' 或者 "It's \"quoted\"" 或者 'It\'s "quoted"' 或者 r"C:\raw\string" 数字: 123.45 布尔值: true, false 序列: ["foo", "bar", 123.45]: 值域: 0..9, 0..<10 (或 0..!10), 0.. 哈希表: {…
为了处理缺失变量,FreeMarker提供了两个运算符: 用于防止对象不存在而导致的异常 !:指定缺失变量的默认值 ??:判断某个变量是否存在,返回boolean值 ${item.createtime.toString("YYYY年MM月dd日 HH:mm:ss")},指定中文时间格式 ${item.money!?string("0.00")} 元 ,指定money格式 Map对象的key和value都是表达式,但是key必须是字符串 可以混合使用.和["…
什么是Freemarker Freemarker是模板引擎,不是Web框架,只是视图层的组件,官网是 https://freemarker.apache.org/ Freemarker原理 数据模型+模板= 输出…
沉淀的心   freemarker学习笔记--设计指导   <# ... > 中存放所有freemaker的内容,之外的内容全部原样输出.<@ ... /> 是函数调用两个定界符内的内容中,第一个符号表示指令或者函数名,其后的跟随参数.freemaker提供的控制包括如下:<#if condition><#elseif condition><#else></#if> 条件判断<#list hash_or_seq as var&g…
参考文档: FreeMarker标签与使用 连接http://blog.csdn.net/nengyu/article/details/6829244 freemarker学习笔记--指令参考: http://www.cnblogs.com/pengfeisun/articles/1623182.html Freemarker 高级进阶 jsp的第一次运行,就要运行servlet,如果开发时频繁的修改jsp,会导致开发速度比较慢;(每改一次,要重新编译一次); 编译过后,模板的速度也要比jsp快…
如果你还不了解现在的前后端分离,推荐阅读淘宝前端团队的前后端分离的思考与实践 1.问题 随着现在整个软件开发行业的发展,在开发模式上逐渐由以前的一个人完成服务端和前端web页面,演变为前端和后端逐渐分离的趋势.在安卓.IOS等移动设备开发基本已经成型,前后端达到了完全分离.可是在web网站开发中,前后端依旧高耦合.难分离:后端开发人员难以像开发安卓.IOS等移动端一样,只需要面向接口编程,而不用关心web页面的逻辑设计. 网站开发在前后端的分离上也进行了一部分发展,比如出现了Vue.js,Rea…
JFinal  是基于 Java  语言的极速  WEB  + ORM  开发框架,其核心设计目标是开发迅速.代码量少.学习简单.功能强大.轻量级.易扩展.Restful.在拥有Java 语言所有优势的同时再拥有 ruby.python.php 等动态语言的开发效率!为您节约更多时间,去陪恋人.家人和朋友!(鼓掌!~~) JFinal 有如下主要特点:  MVC 架构,设计精巧,使用简单  遵循 COC 原则,零配置,无 xml  独创 Db + Record 模式,灵活便利  Acti…
实际本章教程开始之前,让我们看看由http://struts.apache.org给出的几个定义: Term 描述 tag A small piece of code executed from within JSP, FreeMarker, or Velocity. template A bit of code, usually written in FreeMarker, that can be rendered by certain tags (HTML tags). theme A co…
© 版权声明:本文为博主原创文章,转载请注明出处 一.分析 1.目标:抓取慕课网首页推荐课程的名称和描述信息 2.分析:浏览器F12分析得到,推荐课程的名称都放在class="course-card-name"的h3标签里,描述信息都放在h3标签下面的p标签中.因此只需要获取到这两个标签中的内容即可 二.实例 1. 项目结构 2.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:x…
一.前言 上一篇 <从现在开始,试着学会用官方文档去学习一个技术框架>提倡大家多去从官方文档学习技术,没有讲到具体的实践,本篇就拿一个案例具体的说一说,就是FreeMarker,选择这个框架没什么特别的含义,最近要用,就拿这个做个典型. 二.套路 上篇文章最后说到技术学习没有套路,无招胜有招,无招即是有招,解读一下实际上就是说 本身还是有些招式套路,但是要灵活运用,不要什么都往上套,应该忘掉固有的套路,让其化为你的一种本能,见招拆招.  下面就介绍一种常规学习套路给大家,如下图: 下面就根据上…
模板引擎可以让程序实现界面与数据分离,业务代码与逻辑代码的分离,这就提升了开发效率,良好的设计也使得代码复用变得更加容易.一般的模板引擎都包含一个模板解析器和一套标记语言,好的模板引擎有简洁的语法规则.强大的功能.高效的渲染效率.详尽的帮助说明与不断的更新与维护.常见的前端模板引擎有: 常用的java后台模板引擎:jsp.FreeMarker.Velocity等. 请不要迷恋速度,为了推广的测试可能是片面的,好的模板引擎经得起时间考验,建议大家选择成熟的.常用的模板引擎.另外不管前后端的模板引擎…
这里原帖地址:http://www.cnblogs.com/porcoGT/p/4537064.html 完整配置springmvc4,最终视图选择的是html,非静态文件. 最近自己配置spring的时候,遇到很多问题,由于开发环境和版本的变化导致网友们给出的建议很多还是不能用的,可能还会有很多人会遇到和我一样的问题,希望能帮到遇到困难的人. 环境:jdk8,spring4.2.0,tomcat8,使用idea14编辑器,maven管理,git版本控制器,项目远程库地址github:https…
import标签 就是把其他的ftl页面引用进来 <#import "/common/ui.ftl" as ui> 使用时 <@ui.message/>,message是存在于/common/ui.ftl文件内的macro assign标签 这个标签就是单纯的赋值语句,例如我们在后台放到modelmap里一个javabean modelmap.put("javabean", javabean); 前台就可以使用assign把javabean的…
FreeMarker应用在Servlet(0配置web.xml形式): 准备环境: tomcat7.eclipse最新版.jdk1.8.freemarker v2.3.20.jar 举例项目结构图: 创建DynamicWebProject,在WEB-INF/lib中引入freemarker.jar 在WEB-INF下创建templates文件夹,在templates文件夹下创建test.ftl模板文件 <!DOCTYPE html> <html> <head> <…
楔子: 之前在和同事讨论,同事说“jsp技术太古老了,有几种页面技术代替,比如FreeMarker.Velocity.thymeleaf,jsp快废弃了……”云云.我这一听有点心虚……我在后端部分越刨越深,页面装配技术什么的好像只知道有jsp……趁放假自己补补课啦~ 简介: FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,纯Java编写.类似jsp,简单来讲就是模板加数据模型,然后输出页面. 图片来自尚学堂课件,侵权删 相对于jsp,FreeMarker的性能略差几十毫秒…
还是先贴出该例子存于github上的位置 https://github.com/lemonbar/spring-mvc-freemarker Sping-Framework 的官方文档简单列出了在spring-mvc中如何使用freemarker, 但是相对来说提供的信息和例子太少, 所以在这给出一个详细的例子. 注:我是在maven基础上进行的构建, 很多解释已经在代码中加了, 所以尽量贴代码. FreeMarker Site: http://freemarker.org/ 1. 整个文件夹结…
1.创建maven项目,添加pom依赖 <!--springboot项目依赖的父项目--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.RELEASE</version> </parent> <dep…