JSP提供的灵活性是否比FreeMarker更多,还是反过来?我的后端涉及Servlets。在什么情况下使用哪个?
JSP提供的灵活性是否比FreeMarker更多,还是反过来?我的后端涉及Servlets。在什么情况下使用哪个?
JSP会让你在视图层做更多的事情,因此可以说它更加灵活。但是有些事情你可能不应该做,这也可以说是FreeMarker的好处之一。使用FreeMarker可以让你更好地控制视图层所能做的事情,并强制实现更好的关注点分离。
这里没有真正的正确答案。从技术上讲,你可以使用任何一个来完成UI的几乎所有事情。如果没有更多关于你的项目的细节,很难给出建议。唯一可以说的是,你应该使用MVC模式,这可以使用任何一种方式来实现。
有几个类库已经存在于JSP中,例如JSTL、DisplayTag等,如果您选择使用JSP,可以使用它们。但是在Freemarker中,这样的类库就不是很多了。
JSP专门为Web页面定制,而FTL是一种更通用的模板语言——它可以用于生成HTML、纯文本、电子邮件等。
要选择一个,必须考虑您拥有哪些工具。所有优秀的Java IDE都具有出色的JSP支持,而FTL支持可能会好坏参半。
我相信你现在已经选择了其中一种选项。无论如何,评论对其他人可能仍然有用。正如WhiteFang所写的,使用MVC是唯一值得推荐的建议。
如果你的应用程序是基于Web的,JSP很可能是更好的选择,因为它更为人所知,并且可以使用JSTL编写非常干净的演示代码(只需确保不要混合脚本...所有数据都应在servlet中进行准备,并作为属性传递给JSP)。选择JSP可以通过使管理人员能够轻松地插入其他开发人员来提高项目价值,以便更快地交付等。
无论如何,既然您已经在FreeMarker上使用它,如果模板已经看起来不错,我不会更改它。最好等待业务原因需要切换时再进行更改。无论应用程序设计得多么好,最终都需要部分或甚至完全重新架构。只要您进行模块化编程,并将转换保持在隔离的模块中,您随时可以轻松地切换到任何您认为合适的技术(可能是一个比FreeMarker或JSP更好的新技术 :) )。
我通常在非Web应用程序中使用FreeMarker。或者在Web应用程序中,例如当需要生成通知电子邮件时,我需要使用FreeMarker,这些电子邮件不需要启用Web。否则,到目前为止,JSP效果很好。
斯特夫。