<j:set var="maxEachOSTime" value="0" />
<j:if test="${xmlval > maxEachOSTime}">
${xmlval} > ${ maxEachOSTime}
<j:set var="maxEachOSTime" value="${xmlval}"/>
<j:set var="finalTotalDuration" value="${total_duration}"/>
</j:if>
如果將 ${xmlval} 與一個數字(1、200 等)進行比較,它會起作用。但是與 ${eachMaxOSTime} 相比,它不起作用。(條件始終為真) .intValue() 也沒有幫助。對此有什么解決方案?
uj5u.com熱心網友回復:
以下結構用于string使用 Jelly 腳本定義變數:
<j:set var="stringVariable" value="I have value!"/>
<j:set var="maxEachOSTime" value="0"/>
因此,maxEachOSTime變數的型別是string。您正在嘗試使用轉義字符integer將等式左側的an與 a相等。string>
uj5u.com熱心網友回復:
這就是最終在我的特定用例中幫助我的原因。
xmlval 是通過從 xml 檔案中讀取而具有整數值的變數
maxEachOSTime var 默認通過 <j:set> 設定為字串
將其轉換為 float 并使用其 intValue()
較早的 intValue() 不起作用,因為 String 沒有屬性 intValue,因此 if 條件被跳過。
這可以通過直接處理整數來即興發揮
<j:new className="java.lang.Float" var="tempFloat">
<j:arg value="${maxEachOSTime}" type="float"/>
</j:new>
<j:set var="intThing" value="${tempFloat.intValue()}"/>
<j:if test="${xmlval > intThing}">
<j:set var="maxEachOSTime" value="${xmlval}"/>
<j:set var="finalTotalDuration" value="${total_duration}"/>
</j:if>
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/389680.html
