`

freemarker的优点

阅读更多

taglib、freemarker 、jsf、Velocity 偶都用过,最后还是觉得frremarker用着最顺心,下面我就说说个人比较喜欢的优点:
1.freemarker 是一个干净轻量的模板引擎,源代码结构也很清晰.
你可以直接写一个java main方法来调用它,我的代码生成器就是这么做的.
2.freemarker 写出来的页面一般都是xml格式友好的,也就是说你可以写出很规范的xhtml,而且还可以直接使用一些xml的代码格式化工具直接美化.而且很容易发现其中缺少或者嵌套错误的tag
3. 个人觉得freemarker 和taglib,jsf至少在使用层面上很像,但是freemarker 的macro容易写,几行代码就搞定了,taglib和jsf需要写一堆java文件和tld文件,繁琐得很
4.freemarker 不能直接调用java对象的method. 这点有些人认为这是个缺点,但是我不这样认为. 个人觉得对于一个view层的东西来说,你要做的就是把view展现好就行了,不要再view中调用业务方法. 以前在公司做产品和后来做项目时就一再和手下的coder强调这点,但是因为种种原因,大家都还是会偷懒,直接在view中调用.用了fm后就不一样了, 现在你想在view中调用业务方法,那么你需要绕n个圈才能做到,还不如直接按照标准的mvc来做.
5.freemarker 内置了很多web编程中很常用的方法. 例如js_string ,html_string, ${lastUpdated?string.short}, ${lastUpdated?string("yyyy-MM-dd HH:mm:ss zzzz")} 这些东西虽然都很小,但是胜在常用啊,而且用起来很方便
6. eclipse的插件很好用,可以代码提示自动完成. 当然现在只有jboss tools下的那个插件.不过那个插件开发基本停止了,而且维护人员特别官僚,我给他们报了好几个bug,而且还提供了对应的修改代码,结果他们非要我给 他们提供patch文件,而且还要写对应的单元测试代码. 偶滴神啊,我只是写web的,eclipse的那套东西实在是不熟悉啊.
7. fm的macro的参数可以设置缺省值, 用起来很方便.

总之,我个人觉得fm还是大大提高了我的工作效率,我们团队的人用了都说很不错.只是好像现在用fm的人太少了,这个社区实在是太冷清了.

分享到:
评论

相关推荐

    FreeMarker入门指南(详细指南见附件)

    四、FreeMarker优点 1. 与Java代码分离:FreeMarker模板只包含展示逻辑,提高了代码可读性和维护性。 2. 高效性能:FreeMarker引擎编译模板为Java字节码,执行速度快。 3. 动态语言特性:支持条件判断、循环、函数...

    模板:velocity和freemarker的比较

    在 WebWork2 中,我们可以随意选择使用 Freemarker 或 Velocity 作为 View,模板技术作为 View 的好处是很多,尤其和 JSP 比较起来优点更大。 Velocity 和 Freemarker 都是开源的模板技术,它们都提供了强大的功能...

    Freemarker分页

    它的主要优点在于与Java代码分离,使得视图层的维护更为简单。 其次,**Struts2** 是一个基于MVC(Model-View-Controller)设计模式的Java Web应用框架,用于构建动态网站。Struts2允许开发者通过Action类处理请求...

    FreeMarker

    #### 优点 1. **分离表现层与业务逻辑**:FreeMarker 不支持 Java 脚本代码,因此可以彻底地分离表现层和业务逻辑。 2. **提高开发效率**:在开发过程中,界面设计师和开发人员可以并行工作,无需等待页面原型完成...

    FreeMarker 2.3.18

    `FreeMarker的优点和缺点.mht`详细列出了这些优点。 - **缺点**:虽然FreeMarker在很多方面表现出色,但可能对新手不够友好,学习曲线较陡峭,错误处理机制相对简单,有时调试较困难。 4. **FreeMarker的扩展性**...

    MyEclipse安装freemarker插件

    它的主要优点在于将逻辑与表现分离,提高了代码的可维护性。 首先,我们来详细讲解安装过程: 1. **获取插件**:安装Freemarker插件的首要步骤是找到合适的插件文件。在描述中提到,这里有针对MyEclipse 8.6的安装...

    FreeMarker概述2008

    FreeMarker是一个开源的模板引擎,主要用于生成HTML Web页面,尤其适用于MVC模式的应用程序。...尽管Velocity等其他工具也有其优点,但FreeMarker的广泛特性和强大功能使其在许多场景下成为更优选择。

    freemarker详解

    FreeMarker是一个强大且灵活的模板引擎,它的主要优点在于能够使开发者和设计师的工作职责分离,使得模板设计更加专注于页面展示,而将业务逻辑保留在后端。理解并熟练掌握FreeMarker,对于提升Web应用的可维护性和...

    FreeMarker.pdf

    FreeMarker的优点在于它能够有效地降低视图层的复杂性,提高代码可维护性和可测试性。不过,对于初学者来说,理解和掌握FreeMarker的语法可能需要一定的时间。通过阅读《FreeMarker Manual》(中文版)可以深入理解...

    freemarker资料集

    - **优点**:FreeMarker是纯文本模板语言,不包含任何程序逻辑,使得模板易于编写和维护;与Java代码分离,有利于前后端职责划分;性能优秀,渲染速度快。 - **缺点**:学习曲线较陡峭,尤其是对于非开发人员;...

    Struts2+FreeMarker部署

    Struts2是Apache软件基金会的一个项目,它继承了Struts1的优点并解决了其不足。Struts2的核心是Action类,它负责处理用户的请求,并通过Result来返回响应。Struts2提供了一套强大的拦截器(Interceptor)机制,允许...

    SSH项目 有Freemarker模版

    它的主要优点在于将业务逻辑与显示逻辑分离,开发者可以在不接触Java代码的情况下修改页面布局。Freemarker模板文件通常以`.ftl`为扩展名,其中包含变量和控制结构,这些元素在运行时由Java代码中的数据模型填充。 ...

    Struts2与FreeMarker模板

    Struts2继承了Struts1的优点,并在此基础上进行了许多改进和增强。Struts2的核心是一个实现了拦截器模式的控制器框架,它可以很容易地与Spring、Hibernate等其他框架集成在一起使用。 #### FreeMarker模板引擎 ...

    freemarker的优缺点及简单实例

    **FreeMarker的优点** 1. **松耦合**:FreeMarker模板与Java代码完全分离,模板只负责展示数据,而Java代码负责处理业务逻辑,两者之间通过数据模型进行通信,降低了耦合度。 2. **易用性**:FreeMarker使用简单的...

    FreeMarKer+jsp使用(Struts2+Servlet).

    FreeMarker 的优点在于它具有一定的编程能力,但并不包含完整的业务逻辑,这有助于保持清晰的MVC架构。 在Web应用中,尤其是与Struts2框架结合使用时,FreeMarker扮演着重要的角色。Struts2默认使用FreeMarker作为...

    apache-freemarker-2.3.27

    在实际开发中,FreeMarker的优点包括: - **高性能**:由于FreeMarker是在服务器端编译模板,因此生成输出的速度很快。 - **可扩展性**:可以自定义指令和函数来扩展模板语言。 - **易维护**:模板和业务逻辑分离,...

    freemarker实例下载

    5. **优点与应用场景** - 逻辑分离:Freemarker让开发者专注于页面展示,而无需关心HTML的细节,有利于提高开发效率。 - 性能优化:生成静态HTML有助于减少服务器处理时间,提高网站性能,尤其适用于高并发场景。 ...

    freemarker_servlet_demo

    它的主要优点是模板语言简单易懂,不会引入过多的编程元素,有利于设计人员和开发人员的合作。 2. **Servlet基础** Servlet是Java Web应用程序中的一个Java类,它扩展了服务器的功能,用于处理HTTP请求。在Servlet...

    Freemarker练习实例

    它的主要优点包括灵活性高、易于维护以及性能优秀。 首先,我们来看Freemarker的基础概念。模板是由纯文本和Freemarker指令组成的文件,这些指令用于动态插入数据。例如,`<#if>`、`<#foreach>`等控制结构,以及`${...

    jfinal freemarker mysql

    其优点在于性能优秀、稳定性强、易于管理,尤其适合中小型应用。在JFinal项目中,MySQL作为数据存储的主要后端,与JFinal的ORM(对象关系映射)机制配合,使得开发者能以面向对象的方式来操作数据库,降低了数据库...

Global site tag (gtag.js) - Google Analytics