我希望有人能解释BlausC在这个问题上的惊人答案。
他说小脚本有一些缺点,它们是:
可重用性:您无法重用scriptlet。我的问题:如何重用JSTL代码?
可替换性:您不能使scriptlet抽象。抽象是什么意思,JST如何变成抽象?
OO:您不能使用继承/组成。如何在JSTL中使用OO范例?
调试:如果脚本脚本在中途抛出异常,则您得到的只是空白页面。
可测试性:scriptlet不能进行单元测试。这是什么意思?如何对JSTL进行单元测试?
可维护性:每行,需要更多时间来维护混杂/混乱/重复的代码逻辑。这是什么意思?
最后一件事是他从Oracle的建议中引用的内容:
JSP脚本不应用于编写业务逻辑。
在MVC模式中,我仅在表示层中使用scriptlet。他在这里是什么意思?
你似乎专心只介绍和流量控制的小脚本的一部分使用if,for并switch 声明和out.print()事情。您似乎将Scriptlet 1:1与JSTL进行了比较。错了我并不是在谈论流程控制部分(实际上是由JSTL代替),而是在一般情况下谈论在JSP文件中编写原始Java代码。即收集请求参数,验证和转换值,与数据库和其他Java类/方法进行交互等。通常(间接)完成的所有事情都在Servlet或Filter中完成。
if
for
switch
out.print()