1

我在 Java 中有 ac:set 变量。我想对 a 中的值 +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>这样的东西。这没有道理。只需从id属性中删除 EL。JSF 已经在它前面加上数据表的行索引。

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

也可以看看:

于 2012-12-18T20:34:58.520 回答