簡體   English   中英

如何在 JSP 三元運算中使用 scriptlet 值?

[英]How to use a scriptlet value in JSP ternary operation?

在我的 JSP 頁面中,我從數據庫中獲得了雙倍值。 在 scriptlet 標簽內,我正在初始化要使用的 java 變量,如下所示:

<body>
    <%
        Map<String, Double> colorMap = new HashMap<>();
        colorMap = InsightDbConn.getInstance().getFpyRtyColorLimits();
        double var_yellow = colorMap.get("fpy_yellow"); // storing 85
        double var_green = colorMap.get("fpy_green"); // storing 93
    %>

我需要使用這些值,以便根據我獲得的值設置表格的行顏色 我正在使用 CSS 類來設置行顏色。 但是為了定義該類值,我使用 JSP 的三元運算符來遍歷從數據庫獲得的值。

下面是我的代碼:

 <c:forEach items="${fpyrtyDailyList}" var="entry">
     <tr>
        <td>${entry.category}</td>
        <td>
          <div class="${entry.percentage == 0 ? 'green' : entry.percentage < var_yellow ? 'red' : entry.percentage < var_green ? 'yellow' : 'green' }">
             ${entry.percentage}
          </div>
        </td>
        <td>${entry.daily_date}</td>
        <td>${entry.total_tests}</td>
        <td>${entry.total_passed}</td>
     </tr>
 </c:forEach>

如上面的代碼所示,我試圖借助我在 scriptlet 中定義的 Java 變量來設置 CSS 類的值。 如果我使用數值,工作就完成了。 這些值是動態的,可能會隨着時間變化,所以我打算使用 scriptlet 變量。

有人可以告訴我哪里出錯了。

編輯 1 :我希望在循環內迭代 CSS 類值,以便每一行根據它所持有的值獲得自己的行顏色

首先,您必須使用以百分比表示的值創建一個變量,然后使用該變量來獲取三元運算符中的值。 下面是示例。

<c:set var="entryPercentage" value="${entry.percentage}"/>
<div class="${entryPercentage == 0 ? 'green' : entryPercentage < var_yellow ? 'red' : entryPercentage < var_green ? 'yellow' : 'green' }">

暫無
暫無

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

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