我听说过十亿次次在JSP中使用Scriptlets(那些类似php的<% %>
事物)是多么可怕。
由于任何用途都不需要scriptlet,并且可以替换为JSTL,其他标记库和EL(表达式语言),为什么它们仍然存在?为什么Oracle还没有从JSP技术中删除这些小脚本呢?
答案 0 :(得分:3)
这是一个已有三年历史的问题,但我想对此事发表个人看法。在大型项目(CRM系统)中,我将JSP与scriptlet一起使用了15年以上,这是我的经验:
<c:out ...${product.priceVat}>
比<%= product.getPriceVat() %>
更好。实际上,很多时候情况更糟。它比较冗长,您可能会松开类型信息。属性priceVat
是BigDecimal还是具有货币格式的字符串?您有时不知道是否使用EL(取决于使用的IDE)。 getPriceVat
方法重命名为getPriceTax
,则它必须反映在所有代码库中。 IntelliJ IDEA非常适合处理脚本。不知道它是否自动将${product.priceVat}
重命名为${product.priceTax}
(编辑:确实可以,很酷)。 Netbeans或Eclipse不能很好地处理JSP分离。答案 1 :(得分:2)
它们仍然存在以实现向后兼容。