【发布时间】:2023-03-28 15:14:01
【问题描述】:
我有这段代码确实有效:
<s:iterator value="breadcrumb.links" var="link">
<s:url action='%{#link.url}' var="url" />
<li>
<a href="${url}">${link.name}</a>
</li>
</s:iterator>
我如何做同样的事情,但使用 c:foreach 而不是 s:iterator ?
我试过了:
<c:forEach items="${breadcrumb.links}" var="link">
<s:url action='${link.url}' var="url" />
<li>
<a href="${url}">${link.name}</a>
</li>
</c:forEach>
但我得到了错误:
根据标记文件中的 TLD 或属性指令,属性操作不接受任何表达式
谢谢。
【问题讨论】:
-
除了这个问题,你为什么要这么做?
-
因为我对 struts 标签 s:iterator 和 OGNL %{#} 感到不舒服。我想坚持使用 JSTL c:foreach 和 EL ${}。此外,我总是读到 EL 和 OGNL 可以做同样的事情,只是方式不同。但在这种情况下,我找不到 EL 的方法。
-
今晚我会试试你的代码并发布结果,谢谢。
标签: jsp struts2 iterator jstl ognl