jsp - 是否可以覆盖变量?
问题描述
我试图根据它的 id 创建指向对象的链接。为此,我创建了与属性 ID 进行比较的 ID 列表。
我尝试将属性 ID 添加到变量,然后进行比较,但在 foreach 中,变量始终显示为相同的值。
<s:if test="%{#attr.documentRow.buyRequest != null }">
<c:forEach items="${liveBuyRequestsId}" var="item">
<c:set var="liveBuyId" value="${attr.documentRow.buyRequest.id}"/>
<s:if test="%{attr.documentRow.buyRequest.id eq item}">
<s:url var="buyRequestUrl" action="buy-request-view-view" includeParams="none">
<s:param name="buyRequestId">${attr.documentRow.buyRequest.id}</s:param>
<s:param name="previousAction">${attr.buyRequestPreviousAction}</s:param>
</s:url>
</s:if>
<s:url var="buyRequestUrl" action="buy-request-view-history" includeParams="none">
<s:param name="buyRequestId">${attr.documentRow.buyRequest.id}</s:param>
<s:param name="changeId">${attr.documentRow.buyRequest.changeId}</s:param>
<s:param name="previousAction">${attr.buyRequestPreviousAction}</s:param>
</s:url>
<s:a href="%{buyRequestUrl}">
${liveBuyRequestsId} (${item} by ${attr.documentRow.buyRequest.domainHolder})
</s:a>
</c:forEach>
</s:if>
</display:column>
我希望它根据这些语句创建 url,但变量“liveBuyId”始终具有匹配的第一条记录的值
attr.documentRow.buyRequest != null
解决方案
使用item
哪个是当前/最后一个值
<c:set var="liveBuyId" value="${item}"/>
推荐阅读
- java - 如何在 Spring Boot 中格式化时间戳字段?
- python - 熊猫数据框:当列总和超过阈值时统一缩小值
- java - 有没有办法在片段中实现 setOnDateListener 并将数据发送到另一个片段?
- python - 对交叉表(数据透视表)结果使用 Script_REAL 函数
- matlab - Simulink:在 SimEvents 中获取属性
- javascript - 收到 TypeError:“选项未定义”错误消息
- reactjs - 页面刷新后useState值变为未定义
- c# - wifi断开/重新连接后服务发现死机
- c# - JsonConvert.DeserializeObject 失败并出现 errorm_memberName
- swift - 对 UIImage 数组执行 remove(at:[index]) 会导致内存泄漏