2010-12-10 10 views
2

私のプロジェクトの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> 

答えて

3

このForm2のを呼び出します。

<h:form id="form2"> 
    <h:panelGroup rendered="#{param.mime == 'text'}"> 
     <ui:include src="Text.xhtml"/> 
    </h:panelGroup> 
    <h:panelGroup rendered="#{param.mime == 'pdf'}"> 
     <object data="/<directory>/DisplayPdf.jsf" type="application/pdf" width="100%" height="100%"> 
    </h:panelGroup> 
</h:form> 
+0

こんにちはBalusC、あなたのソリューションに感謝します。それは私の問題を解決した。 (私はあなたのブログをJSF pdfファイルの表示に使用しました) – GDK

関連する問題