`
- 浏览:
11502 次
- 性别:
- 来自:
河南
-
FreeMarker 的优点:
- FreeMarker 不依赖于Servlet ,网络或Web 环境;它仅仅是通过合并模板和Java 对
象(数据模型)来生成文本输出的类库。你可以在任意地方任意时间来执行模板;
不需要HTTP 的请求转发或类似的手段,也不需要Servlet 环境。出于这些特点你可
以轻松的将它整合到任何系统中去。
- 在模板中没有servlet 特定的范围和其它高级技术。FreeMarker 一开始就是为MVC
设计的,它仅仅专注于展示。
你可以从任意位置加载模板;从类路径下,从数据库中等。
- 默认情况下,数字和日期格式是本地化敏感的。因为我们对用户输出,你所做的仅
仅是书写${x},而不是<fmt:formatNumber value="${x}" />。你
也可以很容易就改变这个行为,默认输出没有本地化的数字。
易于定义特设的宏和函数。
隐藏错误并假装它不存在。丢失的变量默认会引起错误,也不会默认给任意值。而
且null-s 也不会默认视为0/false/空字符串。参见FAQ 第三点来获取更多信息。
- “对象包装”允许你在模板中以自定义,面向表现的方式来展示对象。(比如:参
见XML 处理指南/必要的XML 处理/通过例子来学习部分,来看看使用这种技术时
W3C 的DOM 节点是如何通过模板展现出来的。)
宏和函数仅仅是变量(和JSP 的自定义标记工作方式来比较),就像其它任意值一
样,所以它们可以很容易的作为参数值来传递,放置到数据模型中等。
当第一次访问一个页面时几乎察觉不到的延迟(或在它改变之后),因为没有更高
级的编译发生。
- FreeMarker 的缺点:
- 不是一个标准。很少的工具和IDE 来集成它,少数的开发者知道它,很少的工业化
的支持。(然而,如果没有使用.tag文件,JSP 标签库在FreeMarker 模板中工作
不需要改变)
因为宏和函数仅仅是变量,不正确的指令,参数名和丢失的必须变量仅仅在运行时
会被检测到。
除了一些视觉上的相似性,它的语法不同于 HTML/XML 语法规则,这会使得新用
户感到混乱。(这就是简洁的价值所在)
不能和JSF 一起使用。(这在技术上可行,但是没有人来实现它)
如果你认为可以用FreeMarker 来代替JSP ,你或许可以阅读这部分内容:程序开发指南
/其他/在servlets 中使用FreeMarker/在“Model 2”中使用FreeMarker。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
jsp、freemarker、velocity简介和对比。---如果你已经开发Java Web应用程序一段时间,那么对于 JVM 的 PermGen 问题可能并不陌生。由于 FreeMarker 模板不编译成类,它们不占用 PermGen 空间,并不需要一个新的类...
什么是FreeMarker? ................................................................................................. 7 我们应该阅读什么内容? .............................................................
二、FreeMarker与JSP、Velocity的对比 三、一个简单的FreeMarker Demo 四、FreeMarker的数据模型 五、模板的常用指令 六.常用的FTL标记 七、内建函数: 八、FreeMarker macro(宏)的使用 九、通过Struts2设置type来...
FreeMarker 手册 .......................................................................................................... 1 用于 FreeMarker 2.3.18 .......................................................
和上面对比,这次发送邮件使用 MimeMessageHelper 类。MimeMessageHelper 支持发送复杂邮件模板,支持文本、附件、HTML、图片等,接下来我们会继续使用。 (3)发送带附件的邮件 在 MailService 添加 ...
美工设计好静态HTML文件,交给后端工程师,需要转换成Jsp、Freemarker、Velocity等动态模板文件。这种模式有几个缺点 1、动态模板文件不能被浏览器解释、必须要运行在服务器中才能显示出效果 2、动态效果和静态...
通过与主流模板引擎Freemarker,Velocity以及JSP对比,Beetl均远高于前面三个,这是因为宏观上,通过了优化的渲染引擎,IO的二进制输出,字节码属性访问增强,微观上,通过一维数组保存上下文,合并静态文本,通过...
支持HTML、JSP、Velocity、Freemarker等视图,零技术门槛 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求 页面交互使用Vue2.x,极大的提高了开发效率 完善的代码生成机制,可在线生成entity、xml、dao...
支持HTML、JSP、Velocity、Freemarker等视图,零技术门槛 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求 页面交互使用Vue2.x,极大的提高了开发效率 完善的代码生成机制,可在线生成entity、xml、dao...
支持HTML、JSP、Velocity、Freemarker等视图,零技术门槛 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求 页面交互使用Vue2.x,极大的提高了开发效率 完善的代码生成机制,可在线生成entity、xml、dao...
支持HTML、JSP、Velocity、Freemarker等视图,零技术门槛 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求 页面交互使用Vue2.x,极大的提高了开发效率 完善的代码生成机制,可在线生成entity、xml、dao...
支持HTML、JSP、Velocity、Freemarker等视图,零技术门槛 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求 页面交互使用Vue2.x,极大的提高了开发效率 完善的代码生成机制,可在线生成entity、xml、dao...