日期:2014-05-17  浏览次数:20604 次

Struts2 标签 和 freemarker
Struts2 标签 和 freemarker 两者 其中一种 可以取代 另一种吗 个人感觉 用一种就可以了 为什么 Struts2 的标签 这么不统一 又有 普通的 又有 freemarker 哪位大牛给解释下。

------解决方案--------------------
[size=24px]FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件 FreeMarker与容器无关,因为它并不知道HTTP或Servlet;FreeMarker同样可以应用于非Web应用程序环境 FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库[/size] 


------解决方案--------------------
目的不同而已。

freemarker的出现一是为了简化工作,使用模板可以减少很多类似页面;一是想要将视图和逻辑彻底分离;是否还有其他目的未知。

struts2标签中的一部分是为了配合struts2的功能如表单验证、国际化等,另一部分是取代jsp页面中的java code实现逻辑判断等,再说,struts2的标签中可以直接调用java里面的方法,这还是相当好用的功能。个人怀疑struts2也想搞个“一站式”,意思就是说只用struts2就可以搞定一切,所以用struts2标签取代jstl。

总之,很爱干净很想彻底实现MVC分离的人可能偏爱freemarker,但有的人并不在意这个,他甚至更希望在jsp页面中还可以使用标签进行逻辑判断、循环迭代什么的。
------解决方案--------------------
freemarker 是静态页面的技术。由于大的网站访问量比较大,所以采用动态页面的话,太多次访问数据库会造成响应不过来,所以用freemarker 生成静态页面,这样访问会快,而且服务器压力不会那么大。
freemarker 、Struts2 标签倒是可以结合使用了,但是好像拿他们一起用的人不多。