Jsf &引用;mod";不在<;ace:datatable>;
我正在使用.Nowm,当我使用Jsf &引用;mod";不在<;ace:datatable>;,jsf,jakarta-ee,datatable,icefaces,Jsf,Jakarta Ee,Datatable,Icefaces,我正在使用.Nowm,当我使用eq应用条件时,它在datatable中运行良好。供参考: <ace:dataTable id="tbl" ..... rowIndexVar="row" rowStyleClass="#{((row+2)/2 eq 1)?'chkred':'chknone'}"> 它抛出一个异常 java.lang.IllegalArgumentException: Cannot convert ? of type class java.lang.Double t
eq
应用条件时,它在datatable中运行良好。供参考:
<ace:dataTable id="tbl" ..... rowIndexVar="row"
rowStyleClass="#{((row+2)/2 eq 1)?'chkred':'chknone'}">
它抛出一个异常
java.lang.IllegalArgumentException: Cannot convert ? of type class java.lang.Double to class java.lang.Boolean
我想知道为什么这段代码会抛出这个异常,我怎么能在这里使用“mod”?它的原因是
mod
的结果是一个双精度而不是布尔值,而您试图将这个双精度结果视为布尔值
例如,{10 mod 4}
将导致2,而不是真或假
此外,在EL表达式中不能使用+
试试这样的
<ace:dataTable id="tbl" ..... rowIndexVar="row"
rowStyleClass="#{((row+2)/2 mod 0.0)?'chkred':'chknone'}">
<ace:dataTable id="tbl" ..... rowIndexVar="row"
rowStyleClass="#{(row mod 2 eq 0)?'chkred':'chknone'}">
someous stuff man:)它正在工作,但我想告诉你它并没有像我想的那样工作。实际上我想通过应用这个条件{((row+2)/2 mod 0.0 eq 0?“'chkred':'chknone'}”它在奇数行上应用chkred类,在偶数行上应用chknone类,但它总是应用chkred类:(…它似乎总是返回“true”“对于这种情况。对此有什么想法吗?对于开始,请尝试写出如下值:{(row+2)/2 mod 0.0
},以查看每行发生了什么以及返回了什么实际值……从那里继续……b.t.w,您不应该这样做吗rowStyleClass=“#{(row mod 2 eq 0)'chkred':'chknone'”
Em惊奇..它只是在打印“NaN”…这是什么意思?owo…刚刚注意到+
符号您不能在EL表达式中这样使用它,rowStyleClass=“#{(row mod 2 eq 0)?'chkred':'chknone'}”
对您有用吗?