0

.Nowmを使用して条件を適用するとeq、datatableでうまく機能します。
参考のために:

<ace:dataTable id="tbl" ..... rowIndexVar="row" 
rowStyleClass="#{((row+2)/2 eq 1)?'chkred':'chknone'}">

modでもこんな感じで使っている時

<ace:dataTable id="tbl" ..... rowIndexVar="row" 
rowStyleClass="#{((row+2)/2 mod 0.0)?'chkred':'chknone'}">

例外をスローします

java.lang.IllegalArgumentException: Cannot convert ? of type class java.lang.Double to class java.lang.Boolean

このコードがこの例外をスローする理由と、ここで「mod」を使用するにはどうすればよいですか?

4

1 に答える 1

1

結果の原因はmoddouble であり boolean ではなく、その double の結果を boolean として処理しようとしていました

たとえば、#{10 mod 4}結果は2になり、 trueまたはfalseではありません

+また、 EL式では使用できません

このようなことを試してください

<ace:dataTable id="tbl" ..... rowIndexVar="row" 
    rowStyleClass="#{(row mod 2 eq 0)?'chkred':'chknone'}">
于 2012-09-19T06:24:18.690 に答える