我在Spring应用程序中使用JSPX文档,我发现了一个奇怪的事情:EL表达式不在HTML属性中进行评估,只在taglib属性中进行评估。让我举个例子。给出以下代码段:
<c:forEach items="${articles}" var="article">
<a href="/articles/${article.id}">${article.title}</a>
</c:forEach>
如果我的文章ID为2,标题为“StackOverflow示例”,那么我得到以下输出:
<a href="/articles/${article.id}">StackOverflow example</a>
因此,不会评估href属性中的表达式。这是正常的吗?我使用<jsp:element>
魔法来处理它,但如果EL评估也可以在HTML属性中工作,那将会更有用。
答案 0 :(得分:0)
确保您的web.xml在顶部有正确的声明,例如:
<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
...
</web-app>
答案 1 :(得分:0)
尝试使用 c:url 而不是html锚链接。请参阅此link以了解c:url。