【问题标题】:Exact difference and relation between JSTL and Expression LanguageJSTL和表达式语言之间的确切区别和关系
【发布时间】:2013-03-28 17:08:08
【问题描述】:

阅读 Q&A How to avoid Java code in JSP files? 后,我停止使用 scriptlet 进行编码。

于是开始阅读JSTL 并怀疑我发现JSTL 与EL 有关系。

但我没有得到它们之间的确切关系。

这是我从here得到的代码

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

我知道&lt;c:set 是一个JSP 标签,${test} 是表达式语言..

我的困惑是

  1. 不能单独使用JSTL 吗?它总是需要EL 的支持吗?如果并非总是需要,在上述情况下如何处理?

  2. 如何简单使用没有JSTL标签的Expression语言?

【问题讨论】:

  • EL 是一种操作服务器端内容的方法,无论是在 JSTL 标记中,还是以“普通”样式。如果在标签中使用,它可以用于获取数据,例如您的示例,或设置数据,例如&lt;h:inputText&gt;
  • 这可能会有所帮助:stackoverflow.com/questions/4812755/…

标签: java jsp jakarta-ee jstl el


【解决方案1】:

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

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

${user.id}

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 2021-05-02
    • 2012-06-01
    • 2013-09-18
    • 1970-01-01
    • 1970-01-01
    • 2021-01-24
    相关资源
    最近更新 更多