私は PrimeFaces 3.4 を使用しており、ページ上の dataTables に一連の .xhtml があります。ページ上のすべてのテーブルに 1 つの .xhtml を使用し、各種類の dataTable にその .xhtml を含めるときに ui:param を使用したいと思います。次のコードフラグメントがある場合:
<p:dataTable id="invoiceTable" emptyMessage="Pick a category from the drop down"
rows="10" var="invoice" value="#{editorUIBean.invoices}" scrollable="true"
scrollHeight="180" editable="true" rowKey="#{invoice.seqId}"
...
したがって、請求書用の .xhtml、現金支払い用、売上税用などの .xhtml があり、各 .xhtml はバッキング Bean のプロパティと ID と変数名を除いて同一であるとします。上記のフラグメントを汎用化すると、WHAT_DO_I_REPLACE_THIS_WITH が機能するようになりますか?
<p:dataTable id="#{tableId}" emptyMessage="#{emptyMessage}" rows="10" var="#{rowId}"
value="#{editorUIBean[dataProperty]}" scrollable="true" scrollHeight="180"
editable="true" rowKey="#{WHAT_DO_I_REPLACE_THIS_WITH[rowKey]}"
...
したがって、このコードが editableTable.xhtml に含まれている場合、次のように使用します。
...
<ui:include src="editableTable.xhtml">
<ui:param name="tableId" value="invoiceId"/>
<ui:param name="emptyMessage" value="Pick a category from the drop down"/>
<ui:param name="rowId" value="invoice"/>
<ui:param name="dataProperty" value="invoices"/>
<ui:param name="rowKey" value="seqId"/>
...
</ui:include>
....
したがって、基本的には、文字列「請求書」ではなく、rowId から変数請求書を取得するにはどうすればよいですか? JSF または PrimeFaces に eval() 関数はありますか? eval(rowId)[rowKey] のようなことはできますか?
私の質問をうまく表現できなかったことを許してください。私は JSF/Primefaces の初心者であり、用語を知りません。
前もって感謝します。