0

我有一个表格,<a:commandLink>其中打开<rich:modalPanel>了有关所选项目的附加信息。它使用 reRendering modalPanel 的内部<a:outputPanel>单击 commandLink 来工作。现在的问题是我所有的 facelets 在重新渲染后都变成了常用的输入项(即简单的选择而不是组合框)。有没有办法让服务器将 ui 信息添加到重新渲染的结果中?

UPD我在日志中看到以下消息

10:55:30,483 INFO [facelet] Facelet[/account/registration.xhtml] 在上午 10:55:30 被修改,在上午 10:54:36 应用了刷新组件

UPD2该问题仅发生在替换通常选择的组件上,例如 selectOneMenu 或 selectonelistbox。

代码示例:

<rich:modalPanel id="fieldPropertiesPanel" >
        <f:facet name="header">
            <h:outputText value="Customize Field" />
        </f:facet>
        <f:facet name="controls">
            <h:outputLink value="#"
                onclick="#{rich:component('fieldPropertiesPanel')}.hide(); return false;">
            X
        </h:outputLink>
        </f:facet>
        <rich:panel id="fieldPropertiesContent">


            <s:decorate styleClass="itemType" template="/layout/edit.xhtml">

                <h:selectOneMenu value="#{accountHome.currFieldType}">
                    <s:selectItems itemLabel="#{fieldType}" itemValue="#{fieldType}"
                        label="#{messages['ProjectFieldType_enum.'.concat(fieldType)]}"
                        value="#{accountHome.projectFieldTypes}" var="fieldType" />
                </h:selectOneMenu>
            </s:decorate>


        </rich:panel>
    </rich:modalPanel>

和调用 commandLink

<a:commandLink value="Edit" oncomplete="Richfaces.showModalPanel('fieldPropertiesPanel');"
                        reRender="fieldPropertiesContent" />
4

0 回答 0