JSTL和表达式语言之间的确切区别和关系
Posted
技术标签:
【中文标题】JSTL和表达式语言之间的确切区别和关系【英文标题】:Exact difference and relation between JSTL and Expression Language 【发布时间】: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>
我知道<c:set
是一个JSP 标签,$test
是表达式语言..
我的困惑是
不能单独使用JSTL
吗?它总是需要EL
的支持吗?如果并非总是需要,在上述情况下如何处理?
如何简单使用没有JSTL标签的Expression语言?
【问题讨论】:
EL 是一种操作服务器端内容的方法,无论是在 JSTL 标记中,还是以“普通”样式。如果在标签中使用,它可以用于获取数据,例如您的示例,或设置数据,例如<h:inputText>
。
这可能会有所帮助:***.com/questions/4812755/…
【参考方案1】:
最初,EL 被设计用于 JSTL 标记的属性内,以及您可能想要使用或自己编写的任何其他自定义标记。
更高版本的 JSP 规范允许在 JSP 中直接使用 EL,但这并不意味着 JSTL 不再有用。您可以直接在 JSP 中使用 EL 做的唯一事情是向响应写入一些值,例如
$user.id
这将写入用户 bean 的 ID。如果你想要测试、循环、html 转义、URL、日期数字格式等,你仍然需要使用 JSTL。
【讨论】:
以上是关于JSTL和表达式语言之间的确切区别和关系的主要内容,如果未能解决你的问题,请参考以下文章
Struts标签Ognl表达式el表达式jstl标签库这四者之间的关系和各自作用