JSTL和表达式语言之间的确切区别和关系

2022-09-01 23:20:12

读完问答后 如何避免JSP文件中的Java代码?我停止了使用 scriptlet 进行编码。

所以开始阅读JSTL,并怀疑我发现JSTL与EL有关系。

但我没有弄清楚它们之间的确切关系。

在这里,我从这里获得了代码

 <c:set var="test" value="JSTL Core Tags"></c:set>
 <c:out value="${test}"></c:out>

我知道是一个JSP标签,是表达式语言。<c:set${test}

我的困惑是

  1. 单独工作不起作用吗?它是否总是需要的支持?如果并不总是需要,在上述情况下如何?JSTLEL

  2. 如何简单地使用没有JSTL标签的表达式语言?


答案 1

EL 最初,它被设计为在 JSTL 标记的属性以及您可能想要使用或自己编写的任何其他自定义标记内使用。

JSP规范的更高版本允许直接在JSP中使用EL,但这并不意味着JSTL不再有用。您唯一可以直接在JSP中使用EL的事情就是向响应写入一些值,例如

${user.id}

这将写入用户 Bean 的 ID。如果你想要测试、循环、HTML 转义、URL、日期和数字格式等,你仍然需要使用 JSTL。


答案 2