JSP与FreeMarker

时间:2011-04-05 23:22:15

标签: java jsp servlets freemarker

JSP是否提供了比FreeMarker更多的灵活性,还是以其他方式? 我的后端涉及Servlets。 在什么情况下使用哪一个?

4 个答案:

答案 0 :(得分:10)

JSP将允许您在视图层中执行更多操作,因此您可以说这使其更加灵活。你可能不应该做的事情,哪一个可以说是FreeMarker的好处。它可以让您更好地控制视图层的功能,并可以更好地分离关注点。

这里没有任何正确答案。从技术上讲,您可以使用UI完成任何事情。没有关于您的项目的更多细节,很难提出建议。关于我唯一可以说的是你应该使用MVC模式。它可以用任何一种方法完成。

答案 1 :(得分:8)

我的回答肯定是与Freemarker一起使用。 原因在于使用期限的灵活性。

  1. 它不需要servlet容器,因此您也可以呈现电子邮件或任何基于文本的内容。

  2. 在Web应用程序中,可以将jar模块创建为jar。 Freemarker模板可以很容易地从类路径加载(同样,spring可以加载css / js - 静态内容 - 来自classpath,带有mvc:resources标签和扫描控制器)。因此,Web模块可以包含自己的模板,静态数据和控制器。

  3. Freemarker在创建自定义标签方面更强大,jsp让它变得更加痛苦。此外,自定义标签允许回调身体参数化,这在JSP中实际上无法实现。

  4. 从Freemarker开始,您仍然可以使用所有可用的JSP标记库:)

答案 2 :(得分:1)

我相信你现在已经选择了一个或另一个选项。无论如何,评论可能仍然对其他人有用。 正如WhiteFang所写,使用MVC是唯一值得推荐的建议。

如果您的应用程序是基于Web的应用程序,JSP很可能是更好的选择,因为它更为人所知,并且可以使用JSTL编写非常干净的表示代码(只是确保您不要混合使用Scriptlet ...所有数据应该在servlet中准备并作为属性传递给JSP)。选择JSP可以为项目带来价值,使管理人员能够在需要时轻松插入其他开发人员,以便更快地交付等等。

无论如何,既然你已经在FreeMarker上拥有它,如果模板已经看好了,我就不会改变它。相反,当你有业务原因切换时。无论应用程序设计得很好,它最终都需要部分甚至完全重新架构。只要您进行模块化编程,并在单独的模块中保持转换,您就可以随时轻松切换到您认为合适的任何技术(可能是新的,比FreeMarker或JSP更好:))。

我通常将FreeMarker用于非Web应用程序。甚至在Web应用程序中,当我需要生成通知电子邮件时,例如,不需要启用Web。否则JSP到目前为止工作得很好。

燕姿。

答案 3 :(得分:0)

如果您选择使用JSP,可以使用几个围绕JSP的库,如JSTL,DisplayTag等。有了Freemarker,就没有那么多了。

JSP是为网页量身定制的,FTL是一种更通用的模板语言 - 它可以用来生成HTML,纯文本,电子邮件等。

要选择一个,你必须考虑你拥有什么样的工具。所有优秀的Java IDE都具有出色的JSP支持。 FTL支持可能/可能不太好。