1

Javaにac:set変数があります。の値に+1したいのですがrich:dataTable、これは可能ですか?

    <h:form id="webstoreSettings" styleClass="edit">
        <c:set var="_count" value="0" scope="page" />
        <rich:panel>
            <rich:simpleTogglePanel label="Store Properties"
                switchType="client" rendered="true">
                <div style="margin: 7px 0px;">
                    <rich:dataTable id="webListsTable"
                        value="#{storeHome.webPropertiesVars}" var="_var">
                        <h:column id="webstoreVarCol">
                            <h:outputLabel id="webstoreVar_#{_count}" value="#{_var.webstoreVar}" />
                            <c:set var="_count" value="#{_count + 1}" scope="page" />
                        </h:column>
                    </rich:dataTable>
                </div>
            </rich:simpleTogglePanel>
        </rich:panel>
    </h:form>

id="webstoreVar_0"はすべて同じです:(

ありがとう。

4

1 に答える 1

3

これは不可能です。JSTLタグは、ビューのレンダリング時間ではなく、ビューのビルド時間中に実行されます。は<rich:dataTable var>、ビューのレンダリング時にのみ使用できます。

なぜあなたがその<h:outputLabel id>ようなものを必要としているのかよくわかりません。意味がない。ELをid属性から削除するだけです。JSFは、データテーブルの行インデックスをすでに付加しています。

<h:outputLabel id="webstoreVar" ... />

参照:

于 2012-12-18T20:34:58.520 に答える