Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf &引用;mod";不在<;ace:datatable>;_Jsf_Jakarta Ee_Datatable_Icefaces - Fatal编程技术网

Jsf &引用;mod";不在<;ace:datatable>;

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

我正在使用.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 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'}”
对您有用吗?