我应该使用JSPX而不是JSP吗?
使用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 < 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也是推荐的视图技术。