【问题标题】:JSF 2, Primesfaces: Update cell on selectOneMenu selection in Incell EditingJSF 2,Primesfaces:在 Incell 编辑中更新 selectOneMenu 选择的单元格
【发布时间】:2011-11-16 09:38:37
【问题描述】:

我在 p:dataTable 中使用 Primesfaces 的 Incell 编辑。

在 selectOneMenu 中选择新 id 时,我想更新同一行中的“名称”字段,而不必等到用户按下“确定”复选标记以更新名称字段。对象的名称属性在 bean.idEdited(object) 中更新。

我希望我可以像这样使用 f:ajax render="name" 来更新其他字段:

<h:form>
    <p:dataTable var="object" value="#{bean.objects}"
        <p:column>
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{bean.objectId}" />
                </f:facet>
                <f:facet name="input">
                    <h:selectOneMenu value="#{bean.objectId}">
                        <f:selectItems value="#{bean.objectIds}" />
                        <f:ajax listener="#{bean.idEdited(object)}"
                                render="name" />
                    </h:selectOneMenu>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column>  
            <h:outputText id="name" value="#{object.name}" /> 
        </p:column>
    </p:dataTable>    
</h:form>

当我尝试 render="name" 时,我得到了这个:

SEVERE: Error Rendering View[/logicalAddress.xhtml]
java.lang.IllegalStateException: PWC3999: Cannot create a session after the response has been committed
at org.apache.catalina.connector.Request.doGetSession(Request.java:2867)
...

使用 Primesfaces 2.2.1 网豆 7.0.1 JSF 与 Netbeans 捆绑在一起

想法、其他方式或救赎?

编辑:p:ajax 呈现相同的结果。

【问题讨论】:

    标签: jsf-2 primefaces


    【解决方案1】:

    发生这种情况是因为当您调用 ajax 来呈现页面时,该页面已经被呈现。

    提示:如果您使用 primefaces,您也​​可以在可能的情况下使用 primefaces 组件。也升级到Primefaces 3.0.M4 以获得更好的实施。你还有一个primefaces selectOneMenu component,你可以使用primefaces ajax (p:ajax event="onchange")update属性(更新整个表单)

    【讨论】:

    • 成功了,谢谢!我使用 p:ajax update 而不是渲染,它按我的意愿工作。
    【解决方案2】:

    使用 p:ajax 更新整个表单当然会更新名称字段,但此后该行将不再处于编辑模式。如果用户想要编辑同一行中的另一个单元格,他必须显式进入编辑模式

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-07
      • 2015-01-19
      • 1970-01-01
      • 1970-01-01
      • 2021-08-09
      相关资源
      最近更新 更多