我应该使用JSPX而不是JSP吗?

时间:2020-03-05 18:43:21  来源:igfitidea点击:

使用JDeveloper,我开始为工作中的项目开发一组网页。由于当时我对JDev不太了解,因此我跑到Oracle来学习一些教程。 JDev教程建议使用JSPX而不是JSP,但并未真正解释原因。我们正在开发JSPX页面吗?我们为什么决定这样做?进行JSPX路由的利弊是什么?

解决方案

回答

各位JDeveloper开发人员,我们好!

我使用JSPX页面已有两年多的时间了,而对于JSPX而不是JSP,我从来没有遇到任何问题。因为我使用JHeadstart自动生成ADF Faces页面,所以选择使用JSPX是一种强制的选择,默认情况下,JHeadstart会在JSPX中生成所有内容。

JSPX指定该文档必须是格式正确的XML文档。这样可以正确有效地解析内容。我听说开发人员说,这可以帮助页面相对于JSP更具"前瞻性"。

回答

@马修
ADF!我目前正在使用的应用程序具有90%的由mod PL / SQL生成的表示层。我开始在几个新的屏幕上工作,并希望研究可能适合我们的体系结构的其他选项,而又不会给其他开发人员带来太多的学习负担(增加系统的复杂性/破坏了开发人员的系统思维模式)。团队。因此,ADF也是我遇到JSPX的方式。

我也看到了"未来证明"的观察……但不知道那是多么有根据。

回答

主要区别在于JSPX文件(正式称为" JSP文档")可能更易于使用,因为对格式正确的XML的要求可能使编辑器在键入时识别更多的拼写错误和语法错误。

但是,也有缺点。例如,格式正确的XML必须转义小于号之类的东西,因此文件最终可能具有以下内容:

<script type="text/javascript">
   if (number &lt; 0) {

XML语法也可能更冗长。

回答

在我的头上,JSPX有一些不便之处:

  • 很难生成某种动态内容。尤其是生成具有可选属性(即或者取决于条件)的HTML标签。在我开始使用JSPX的那一天,应该可以解决此问题的标准JSP标记无法正常工作。
  • 没有更多:-p
  • 我们确实要将所有Javascript放在单独的文件中(或者使用CDATA部分,等等)。恕我直言,无论如何,我们都应该使用jQuery,因此我们实际上不需要具有onclick等属性。
  • 工具可能无法正常工作;也许IDE不支持普通JSP之上的任何功能。
  • 在Tomcat 6.x上,至少我尝试过的版本/配置,生成的输出没有任何格式。不过只是一个小烦恼

另一方面:

  • 它迫使我们编写正确的XML,比JSP可以更容易地对其进行操作。
  • 工具可能会执行即时验证,从而更快地发现错误
  • 以我的拙见,语法更简单

回答

为什么应该使用jspx而不是jsp的完全不同的推理路线:

与jsp相比,JSPX和EL使包含javascript和嵌入式Java代码变得更加困难,而且自然程度也降低了。 EL是专门为表示逻辑量身定制的语言。

所有这些使我们朝着UI渲染和其他逻辑的清晰分离迈进。 JSP(X)页​​面中大量嵌入式代码的缺点是几乎不可能轻松地进行测试,而实践这种关注点分离可以使大多数逻辑完全
可单元测试的。

回答

在Spring MVC / Spring Web Flow中,JSPX也是推荐的视图技术。