FTL笔记

  • Post author:
  • Post category:其他



FreeMarker Template Language

FTL是一套

网页模板引擎

, 基于模板和数据动态地生成网页。

它不面向最终用户, 而是通过java加载网页后再进行展示。


与jsp(JavaServer Page)的区别

  • J  可以编写java代码, 功能强大 +
  • F  不能编写java代码, 但实现了

    前后端分离

    ++

  • 不易破坏mvc结构
  • 普通页面性能: velocity>jsp>freemarker
  • 复杂页面性能: freemarker>>使用tag和el表达式的jsp
  • J, F 都支持jsp标签,
  • J  是官方标准, 用户广泛, 第三方类库繁多
  • F  内置大量常用功能, 使用方便, 受众稍小, 非官方

综上:

FreeMarker的优劣性

  • 优一: 彻底分离了表现层和业务逻辑, 预防后期页面中的大量业务代码导致内容凌乱, 维护困难
  • 优二: 无需像JSP那样转换成Servlet类, 节省编译和转换的时间。
  • 优三: 还是优点一, 只是分工更加明确, 节省了前端后端开发人员的协调时间
  • 缺一: Ftl生成的静态Html页面, 一旦模板改变html也要及时更新, 否则显示旧数据
  • 缺二: Ftl中的变量必须赋值, 如果不赋值会抛异常, 因此用到大量的if else判断, 反而增加了代码量
  • 缺三: map的key必须是String
  • 缺四: 不支持集群


值得思考的点:


美工和技术工作分离是否只是神话?


逻辑分离是否是过于纯粹的无用功? 复杂项目真的能这么纯粹吗?



版权声明:本文为ahornbeast原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。