Vic*_*748 3 java jsp scriptlet jakarta-ee
我已经听过十亿次关于在 JSP 中使用 Scriptlet(那些类似 php 的<% %>东西)是多么可怕的事情了。
既然 scriptlet 不需要任何用途,并且可以用 JSTL、其他标记库和 EL(表达式语言)替换,为什么它们仍然存在?为什么 Oracle 还没有从 JSP 技术中删除这些 scriptlet?
这是三年前的问题,但我\xe2\x80\x99d想就此事发表我个人的看法。我在大型项目(CRM 系统)中使用带有 scriptlet 的 JSP 已超过 15 年,以下是我的经验:
\n\n<c:out ...${product.priceVat}>更好<%= product.getPriceVat() %>。很多时候\xe2\x80\x99实际上更糟。它\xe2\x80\x99s 更详细,你可能会丢失类型信息。属性是priceVatBigDecimal 还是带有货币的格式化字符串?有时您不知道 EL 的情况(取决于所使用的 IDE)。getPriceVat方法重命名为getPriceTax它,则必须反映在所有代码库中。IntelliJ IDEA 非常擅长处理 scriptlet。不确定它是否会自动重命名${product.priceVat}为${product.priceTax}(编辑:确实如此,很酷)。Netbeans 或 Eclipse 不能很好地处理 JSP 解析。