私のプロジェクトの1つとして、DataTableコンポーネントで使用可能なMIMEタイプ値に基づいて異なるフォームをロードする必要があります。私はヘッダー、コンテンツを持っています - 中央のDataTableとフッターのデータ表示。 mimetype値に基づいてフッターにデータをロードするDataTableエントリをクリックします。たとえば、mimetype - textはtext beanを呼び出し、内容を読み込みます。mimetype - pdf beanとpdfプラグインなどを呼び出します。JSF - AJAX呼び出しを使用してDataTableのMIMEタイプ値に基づいて異なるフォームをロード
今は、1つのjsfページに1つのMIMEタイプのコンテンツしか表示できません。私は単一のjsfページでこれを達成する必要があります。誰かがいくつかの入力を送ることができますか?ここで
は、私が使用していたサンプルコードです - テキスト
<h:form id="form1">
<h:dataTable value="#{info.office.programmers}" var="programmer">
<h:column>
<f:facet name="header">Report Name</f:facet>
<h:commandLink id="reportName" value="#{programmer.reportName}">
<f:param name="RID" value="#{programmer.reportName}" />
<f:param name="mime" value="#{programmer.mimeType}" />
<f:ajax render=":form2"/>
</h:commandLink>
</h:column>
<h:column>
<f:facet name="header">Mime Type</f:facet>
<h:commandLink id="mimeType" value="#{programmer.mimeType}">
<f:param name="RID" value="#{programmer.reportName}" />
<f:param name="mime" value="#{programmer.mimeType}" />
<f:ajax render=":form2"/>
</h:commandLink>
</h:column>
</h:dataTable>
</h:form>
のためにMIMEタイプとのdataTableをクリックする=「text」のリンクはText.xhtml
と表示テキストデータを呼び出します。
<h:form id="form2">
<ui:include src="Text.xhtml"/>
</h:form>
MIMEタイプ= "PDF" とのDataTableをクリックすると、条件付きビューでコンポーネントをレンダリングするrendered
属性を使用し
<h:form id="form2">
<object data="/<directory>/DisplayPdf.jsf" type="application/pdf" width="100%" height="100%">
</h:form>
こんにちはBalusC、あなたのソリューションに感謝します。それは私の問題を解決した。 (私はあなたのブログをJSF pdfファイルの表示に使用しました) – GDK