最近在学习FreeMarker,刚刚看的时候发现这个东西做的事情不都是JSP能做的吗?为什么还搞出一个FreeMarker这个新东西来?困惑!
如果只是按照官方的说法,使用FreeMarker实现逻辑和视图分离,那也没有必要非得用FreeMarker啊?JSP通过代码规范约束,照样可以做到逻辑和视图分离啊。
再仔细想下来,突然想通了一点FreeMarker不同于JSP的地方。
FreeMarker支持模板,可以在不改变业务逻辑的情况下动态调整视图。
有人会说:JSP也可以实现啊?为毛要用FreeMarker?
是的,JSP确实也能做到模板化。但是JSP本身不支持模板化,如果要做到FreeMarker的模板功能,恐怕要有很多开发工作量。
可能又有人会说:如果用户要改界面,多写几套JSP代码供用户选择不就完了吗?
是,这样确实也能一定程度上支持模板化。但是这种模板必须要写代码、编译,然后发布版本。而FreeMarker的很重要的一点是定义一个新的视图,不需要写代码,不需要发版本,只需要定义一套新的模板即可。
所以总结下来,FreeMarker在类似于淘宝店的商品展示场景下使用,会比JSP更方便。
因为用户要把产品放到淘宝店的展台上,展示的商品会经常发生变化,有时候要对UI做一些美化、内容展示位置的调整等等。在这种情况下,只需要使用一个新的模板,就可以把UI进行改变。而无需对淘宝的平台代码进行修改。
这种情况下,用JSP就会没有多少优势了。
个人拙见,欢迎拍砖。
原文:http://blog.csdn.net/zzpzheng/article/details/41389909