1

JSTL forEach と ah:dataTable を使用して動的テーブルの作成に取り組んでおり、すべてのコントロールと潜在的なエラー メッセージが適切に表示されていますが、各コントロールに設定された値を取得することに行き詰まっています。値を設定するには、動的 EL 式を作成する必要があります (と思います) が、私のバージョンを動作させることができませんでした。c:out を使用して式を構築することを望んでいましたが、そのタグは JSF2 では使用できないことがわかりました。

では、ページ内に動的な表現を構築することは可能ですか? コントロールがまだ構築されていない場合、バッキング Bean に式を設定するにはどうすればよいですか?

 <h:dataTable id="dtDetails" styleClass="slate_table" value="#{remediationDetail.eventList}" var="dataItem">
 <c:forEach items="#{remediationDetail.eventHeaders}" var="key">
  <h:column>
      <f:facet name="header">#{key.fieldDefinition.fieldConfiguration.customLabel}</f:facet>
         <h:inputText value="" id="txtNumber" styleClass="remediation_textbox error_marker" title="#{remediationDetail.errorMessages(dataItem.id, key.fieldDefinition.id)}">
           <f:convertNumber maxFractionDigits="0" maxIntegerDigits="19"/>
  </h:column>
 </c:forEach>
</h:dataTable>

いつものように、助けや指示をいただければ幸いです。

よろしく、

マイク

4

2 に答える 2

0

動的 EL 式を作成できませんでした。そのため、探している値を定義するのに役立つ c:forEach のインデックスの使用を終了しました。この結果の唯一の問題は、表示しようとしているデータが配列内に同じ数の位置を持つことを期待していることです。

<c:forEach items="#{remediationDetail.eventHeaders}" var="key" varStatus="looper">
    <h:column>
        <f:facet name="header">#{key.fieldDefinition.fieldConfiguration.customLabel}</f:facet>
<h:inputText id="txtNumber" value="#{dataItem.entityList[looper.index].val}">
   <f:convertNumber maxFractionDigits="0" maxIntegerDigits="19"/>
</h:inputText>
    </h:column>
 </c:forEach>
于 2013-04-09T02:40:56.350 に答える