1

特定の状況下で別の方法でレンダリングしたいフォーム ( id="theDocument" ) にコンポーネントがあります。

myBean.theDocument」が存在する場合はp:commandLinkとしてレンダリングしますが、存在しない場合はh:outputTextなどのプレーン テキストとしてレンダリングします。

この条件は、ファイルのアップロード後に変更されます (アップロード後、myBean.theDocumentが存在するため、 p:commandLinkとしてレンダリングする必要があります)。

したがって、私のp:fileUploadには、次のようなものがあります。

<p:fileUpload fileUploadListener="#{myBean.handleFileUpload}" update="theDocument">  

私は render="..." を使用してきましたが、更新は既存のコンポーネントの値を更新するために正常に機能します。しかし、ajax の更新後にコンポーネントのタイプを変更するにはどうすればよいですか(または、ページ全体を更新して、より一般的な方法でテキストまたはリンクとしてレンダリングすることを決定する必要がありますか?

ありがとう

4

1 に答える 1

1

条件付きでレンダリングされた 2 つのコンポーネントを共通の親に配置し、共通の親を更新するだけです。

<h:panelGroup id="theDocument">
    <p:commandLink ... rendered="#{not empty myBean.theDocument}" />
    <h:outputText ... rendered="#{empty myBean.theDocument}" />
</h:panelGroup>
于 2012-10-26T14:14:44.427 に答える