当世界做得很好时,为什么需要远离JSP代码?当我问JSP和视力之间的区别时,我只发现了视觉的优点,但我想它们的根本区别是什么?当他们说视觉提供了更好的业务逻辑和HTML隔离时,这意味着什么?
你可以用JSP做得很好,没有必要切换到HTL/Sightly。Sling和AEM/CQ决定推荐HTL,因为它的优点是:安全性(开箱即用的XSS保护(、关注点分离、对国际化的支持等。但是JSP仍然受支持,并且有其他脚本/模板语言(例如Thymeleaf(的扩展。
模板语言通常将表示/视图(例如HTL模板(与模型(HTL中的Use对象(分开。这种关注点分离使你的代码更加模块化和可重用,更容易测试(你可以对Use对象进行单元测试(,并且通常避免了许多JSP中的意大利面条怪物。
一个好的开发人员也可以编写漂亮的JSP,但很多时候情况并非如此。