Encode传递给JSTL列表项的URL



在我的tomcat web应用程序中,我实现了这样的反csrf令牌:

<form method="post" action="<%=response.encodeURL("buy")%>">

因此,URL变成:http://10.0.0.129:8080/webapp/buy?CSRFToken=3B2D9F4ED12AB2237B690B8E3C4CD234

然而,当我有一个<c:forEach items="${forsales}" var="forsale">:

<c:forEach items="${forsales}" var="forsale">
<tr>
<td align="center">${forsale.id}</td>
<td align="center"><a href="${forsale.commentUrl}">${forsale.name}</a></td>
<td align="center">${forsale.sellerid}</td>
<td align="center">${forsale.seller}</td>
<td align="center">${forsale.description}</td>
<td align="center"><fmt:formatNumber value="${forsale.price}" type="currency" /></td>
<td align="center">${forsale.stock}</td>
</tr>
</c:forEach>

如何编码<a href="${forsale.commentUrl}">,为链接包括CSRFToken?

使用JSTL<c:url>代替scriptlet

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<a href="<c:url value="${forsale.commentUrl}"/>">${forsale.name}</a>

最新更新