1

シームを使用してビューアページを管理します。
私のページには、特定の条件でhtmlページが表示されるdiv(iframe)があります。
特に、サーバーサイドから決定して、このdivに表示されるページを変更する必要があります。
私は私をよりよく説明しようとします:
commandButtonをクリックすると、コントロールがサーバーに渡されます(アクションを使用)。このアクションメソッドは、いくつかの設定を行い、後にロードする必要があるページを認識します(場合によっては何もロードしません)。
コントロールが呼び出し元ページに戻ったときに、アクションメソッドによって設定された新しいページを呼び出す必要があります(アクションメソッドによって指定されたものを使用します)。

これどうやってするの?

注:oncompleteタグは、多くのcommandButtonがあり、commandButtonの1つをクリックするたびに呼び出されるため、このコンテキストでは使用できません。

4

2 に答える 2

0

あなたが何をしようとしているのか完全にはわかりません。

これらのページは動的にレンダリングされますか?

サーバーサイトからHTMLを生成し、<h:outputText id="iframediv" value="#{controller.htmlparameter}" escape="false" />

次に<a4j:commandButton reRender="iframediv">、この動的に生成されたページを再レンダリングできます。

ページが静的に定義されている場合は、次のように含めることができます。

<rich:panel id="iframediv"> 
     <a4j:outputPanel rendered="{controller.page1}">
           <ui:include src="page1.xhtml" />
     </a4j:outputPanel>
     <a4j:outputPanel rendered="{controller.page2}">
           <ui:include src="page2.xhtml" />
     </a4j:outputPanel>
</rich:panel>

コントローラのpage1およびpage2パラメータはブール値であり、呼び出したアクションによって設定されている必要があります。

于 2012-04-21T12:36:47.293 に答える
0

特定のプロパティがサーバー側に存在する場合にのみアクティブ化されるjavascriptを使用して解決しました。

于 2012-06-01T09:13:08.333 に答える