但我似乎在每个标签中-6ren">
gpt4 book ai didi

java - 如何将属性从 JSP 传递到标记文件。覆盖标签中的值,并在JSP中获取更新后的值

转载 作者:行者123 更新时间:2023-12-01 17:53:38 27 4
gpt4 key购买 nike

我有一个 JSP,我在其中声明一个整数值

<c:set var="rowCount" value="0" />

我正在尝试在多个标签内使用它

<product:attribute rowCount="${rowCount}" attrKey="${msg_site}&#58;" attrValue="${product.site}" />
<product:attribute rowCount="${rowCount}" attrKey="${msg_name}&#58;" attrValue="${product.name}" />
<product:attribute rowCount="${rowCount}" attrKey="${msg_type}&#58;" attrValue="${product.type}" />

在每个标签内,我都会覆盖 rowCount 值

<%@ attribute name="rowCount"  required="true" %>
<c:if test="${rowCount >= 2}" >
</div>
<div class="col-md-12 col-sm-12 col-xs-12 ">
<c:set var="rowCount" value="${0}" />
</c:if>

<c:set var="rowCount" value="${rowCount +1}" />

但我似乎在每个标签中为 rowCount 声明了一个新变量。如何重用该值而不是声明新变量?

最佳答案

我试图仅添加变量的第一个声明的范围,但它不起作用。

然后我尝试为它们全部添加,如下所示:

<c:set var="rowCount" value="0" scope="request" />

<%@ attribute name="rowCount"  required="true" %>
<c:if test="${rowCount ge 2}" >
</div>
<div class="col-md-12 col-sm-12 col-xs-12 ">
<c:set var="rowCount" value="${0}" scope="request" />
</c:if>

<c:set var="rowCount" value="${rowCount +1}" scope="request"/>

它部分起作用。我能够向行计数添加新值,但是该行

    <c:set var="rowCount" value="${0}" scope="request" />

没有工作。它再也没有回到零。所以我将其更改为具有局部变量并仅覆盖该值一次。像这样:

<%@ attribute name="rowCount"  required="true" %>

<c:set var="rowCountInstance" value="${rowCount}" />

<c:if test="${rowCountInstance ge 2}" >
</div>
<div class="col-md-12 col-sm-12 col-xs-12 ">
<c:set var="rowCountInstance" value="${0}" />
</c:if>

<c:set var="rowCount" value="${rowCountInstance +1}" scope="request"/>

现在我得到了我想要的结果。但我仍然不明白为什么我不能重写它两次。

关于java - 如何将属性从 JSP 传递到标记文件。覆盖标签中的值,并在JSP中获取更新后的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60755723/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com