使用scriptlet的缺点?

这个问题在这里已经有了答案:

  • 如何避免JSP文件中的Java代码? 28个答案

  • 网上有几篇文章比较了scrptlets和JSTL(我猜你们已经先搜索了一下),其中大多数会告诉你相同的

  • JSTL更容易测试,维护和阅读
  • JSTL可以重复使用
  • JSTL可以将业务逻辑与演示分开
  • JSTL可能会在没有打破整个页面的情况下失败
  • 另一方面

  • JSTL比脚本更难开发(至少有不同的学习曲线)
  • 要在生产中修复scriptlet,这只是改变JSP的问题(有时错误更明显)

  • 您似乎只关注scriptlet的表示和流控制部分,就像使用if,for和switch语句以及out.print()一样。

  • 您似乎将scriptlet 1:1与JSTL进行了比较。 这是错误的。 我并不是只谈论流量控制部分(这实际上是由JSTL取代),而是一般在JSP文件中编写原始Java代码。

  • 即收集请求参数,验证和转换值,与数据库和其他Java类/方法进行交互等。您通常(间接)在Servlet或Filter中执行的所有操作。

  • 您不应该在JSP中使用scriptlet代码。 我建议使用100%JSTL和零脚本代码。

  • JSP应该是纯粹的演示。 这是仅使用JSTL编写JSP的隐藏好处,因为它们将其所有动态数据都存放在别处。 让服务层拥有业务逻辑并确定JSP需要的数据。

  • 这也回答你的单元测试问题。 您不应该对单元测试JSP; 那些将会是像Selenium一样的UI测试。 如果逻辑在服务层,那么测试它就很明显。

  • JSP不应该被继承。 您当然可以使用SiteMesh之类的东西将它们组合在一起,但继承在JSP中没有任何作用。 一旦从Servlet继承,链应该结束。

  • 此外,这是一个错误的选择。 两者都不需要重用,继承或单元测试。 但这并不意味着没有明确的赢家:它是JSTL。 没有人应该在JSP中使用scriptlet,除非是非常罕见的单行程序。 Scriptlets乞求麻烦。

  • 现在我更喜欢Velocity作为我的Java的Web UI模板解决方案,远远超过JSP。 只是我的观点。

  • 链接地址: http://www.djcxy.com/p/76593.html

    上一篇: Disadvantages of using scriptlet?

    下一篇: What is wrong with scriptlets, and what to use instead