以前用Struts2作为项目的控制层,在视图方面自然而然得用jsp,外加使用Struts2的标签,很方便也很简单,也强大。
但自从使用SpringMVC后,基本放弃使用Struts2(个人选择,并不代表Struts2不好)。Struts2不用了,那它的标签我也不想用了,那用什么来代替呢?答案就是Freemarker。它是不同于jsp的另外一种视图,而且自带的标签也很强大。在这里简单介绍Freemarker常用的一些标签使用:
<#include path> 这里path:要包含文件的路径
<#list sequence as item> 这里sequence:表达式将被自叙序列或集合;item:循环变量的名称
例:
<#list ["aaa","bbb","ccc"] as o>
${o_index+1}--${o}<#if o_has_next>,</#if>
</#list>
这里item_index:是一个包含当前项在循环中的索引数值,item_has_next:辨别当前项是否是序列最后一项的布尔值
<#break> 用来终止list循环
<#if condition>...<#elseif condition2>...<#else>...</#if> 使用方式类似Java的if else
Freemarker也可以像jsp那样,引入其它标签库,如:
<#assign s=JspTaglibs["/WEB-INF/spring.tld"]>
如果实现对Struts2标签依依不舍,也可通过此来引入Struts2标签
还可自定义标签
还有一点就是数据模型,比如日期、布尔值、数字,Freemarker也有特殊的处理方式。
如
日期的处理,Freemarker使用内建函数date、time或datetime;若要格式化参数显示,则使用内建函数string,如
obj?string("yyyy-mm-dd HH:mm:ss")
Freemarker也提供了很多很好的用内建函数,也挺常用到,如:
str?substring(from, toExclusive) 取子串
str?cap_first 首字母大写
str?uncap_first 首字母小写
<#assign test1 = "10/25/1995"?date("MM/dd/yyyy")>
<#assign test2 = "15:05:30"?time("HH:mm:ss")>
<#assign test3 = "1995-10-25 03:05 PM"?datetime("yyyy-MM-dd hh:mm a")>
${test1}
${test2}
${test3}
输出为:
Oct 25, 1995
3:05:30 PM
Oct 25, 1995 3:05:00 PM
str?ends_with 以...结尾,如"redhead"?ends_with("head")
返回布尔值true
还是很多,不一一显示,详细请看文档
1.1 处理字符串的内建函数
1.2 处理数字的内建函数
1.3 处理日期的内建函数
1.4 处理布尔值的内建函数
1.5 处理序列的内建函数
1.6 处理哈希表的内建函数
1.7 处理节点(XML)的内建函数
1.8 很少使用的和专家级的内建函数
最后还有一小点使用技巧
替代空值:${(str)!'空值,没有内容'}
判断对象或某属性是否存在:obj?? 或 obj.id?? 返回值是布尔类型值
分享到:
相关推荐
这是我自学后写的两个程序,里面包含一个以jsp为模板视图的struts2程序和一个以freemarker为模板视图的struts2程序,希望对你有帮助!
freemarker 简单项目示例,生成静态html过程
Spring配置Freemarker视图解析器,配置多个视图解析器
spring mvc、hibernate、freemarker开源项目源码下载
Spring配置Freemarker视图解析器,前台页面全部使用freemarker渲染
FreeMarKer+jsp的使用方法,并且使用了两种调用方式,servlet与struts2的使用方式,适合新手学习使用!
让nutz支持freemarker。 具体使用和在struts2中使用是一样的
jsp、freemarker、velocity简介和对比。---如果你已经开发Java Web应用程序一段时间,那么对于 JVM 的 PermGen 问题可能并不陌生。由于 FreeMarker 模板不编译成类,它们不占用 PermGen 空间,并不需要一个新的类...
自己写的一个框架例子,公司也在用,框架是struts2+hibernate+freemarker
spring boot mybatis freemarker整合项目的完整源码。最新版本IDEA,稳!
Freemarker简介及标签详解大全 Freemarker简介及标签使用说明
Spring+Maven+freemarker+Ibatis项目结合
freeMarker的简单应用,适合入门人了解,导入myeclipse发布到tomact即可应用
当前java web开发的主流已是spring boot,但还有很多老项目是基于spring web以及jsp...此工具使用python解析jsp文件并把Jsp标准标签解析为freemarker模板语言,以协助开发者把spring web项目转换为spring boot项目。
本项目主要由spring+springmvc创建起来的,分别列举不同的小案列展示FreeMarker不同标签的运用
spring mvc + hibernate + freemarker开源项目源码下载.zip
Freemarker SpringMVC Spring4 Hibernate4项目搭建测试
SSH项目 有Freemarker模版 原本带的还有maven 但是被我简化掉了
Spring mvc+hibernate+freemarker(开源项目)
FreeMarker,FreeMarker