Java 评估JSPX文档中HTML属性的EL表达式
我在Spring应用程序中处理JSPX文档,发现了一件奇怪的事情:EL表达式不是在HTML属性中计算的,而是在taglib属性中计算的。让我举个例子。给出以下代码段:Java 评估JSPX文档中HTML属性的EL表达式,java,jsp,jspx,Java,Jsp,Jspx,我在Spring应用程序中处理JSPX文档,发现了一件奇怪的事情:EL表达式不是在HTML属性中计算的,而是在taglib属性中计算的。让我举个例子。给出以下代码段: <c:forEach items="${articles}" var="article"> <a href="/articles/${article.id}">${article.title}</a> </c:forEach> 如果我有一篇id为2且标题为“StackOve
<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属性中的表达式不会被计算。这正常吗?我使用了
magic解决了这个问题,但是如果EL评估也可以在HTML属性中使用,那么它会更有用。确保您的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>
...
尝试使用c:url而不是html锚定链接。请参阅此了解c:url