選択したアイテムに関する追加情報<a:commandLink>
が表示されるテーブルがあります。これは、commandLink のクリック時に<rich:modalPanel>
modalPanel の内部を reRendering を使用して機能します。<a:outputPanel>
reRender 後、すべての facelets が通常の入力項目 (つまり、コンボボックスではなく単純な選択) になるという問題が発生しました。サーバーに UI 情報を reRendered の結果に追加させる方法はありますか?
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" />