簡體   English   中英

如何將屬性從 JSP 傳遞到標記文件。 覆蓋tag中的值,並在JSP中獲取更新后的值

[英]How to pass an attribute from JSP to tag file. Override the value in tag, and get the updated value in JSP

我有一個 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"/>

現在我得到了我想要的結果。 但我仍然不明白為什么我不能覆蓋它兩次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM