FTL笔记

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
  • 缺四: 不支持集群

 

值得思考的点:

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值