比较果冻脚本中的 2 个变量

compare 2 variables in jelly script

<j:set var="maxEachOSTime" value="0" />
<j:if test="${xmlval &gt; maxEachOSTime}">
    ${xmlval} &gt; ${ maxEachOSTime}
    <j:set var="maxEachOSTime" value="${xmlval}"/>
    <j:set var="finalTotalDuration" value="${total_duration}"/>
</j:if>

if ${xmlval} is compared with a number ( 1, 200, etc) it works. But when compared with ${eachMaxOSTime} it doesnt work. (condition is always working as true) .intValue() also didnt help. What is the solution for this?

以下结构用于用 Jelly 脚本定义一个 string 变量:

<j:set var="stringVariable"  value="This is a string!"/>
<j:set var="maxEachOSTime"   value="0"/>

因此,maxEachOSTime变量的类型是string。您正在尝试使用转义字符 &gt;.

将等式左侧的 integer 等同于 string

这就是在我的特定用例中最终帮助我的东西。

xmlval 是变量,通过从 xml 文件中读取具有整数值

maxEachOSTime var 默认通过

设置为字符串

将其转换为浮点数并使用其 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 &gt; intThing}">
    <j:set var="maxEachOSTime" value="${xmlval}"/>
    <j:set var="finalTotalDuration" value="${total_duration}"/>
</j:if>