2012-07-31 13 views
13

私はjstlループを持っています。私はフォームの日付を書式設定したいと思います。私はオンラインで好きな提案のいくつかの多くの順列を試したが、私はそれを働かせることはできません..誰かが見てくださいできますか?フォーム用のfmt:formatDateの作成方法:入力

私は文脈のための完全なループを含んだが、問題は最後の<td></td>ブロックにある。

<c:forEach items="${valueTransactionsModel.transactions}" var="transaction" varStatus="loopStatus"> 

         <tr class="${loopStatus.index % 2 == 0 ? 'even' : 'odd'}"> 
          <spring:message code="valueTransactions.transactionType" var="transactionTypeLbl" /> 
          <tags:dropdown id="transactionTypeId${loopStatus.index}" path="transactions['${loopStatus.index}'].valueTransactionType.id" 
           fieldName="${transactionTypeLbl}" classStyle="mandatory" items="${transactionTypes}" itemLabel="value"/> 
         </tr> 
         <tr class="${loopStatus.index % 2 == 0 ? 'even' : 'odd'}"> 
          <spring:message code="valueTransactions.transactionAmount" var="valueTransactionAmountLbl${loopStatus.index}" /> 
          <tags:input id="transactionAmountId${loopStatus.index}" 
           path="transactions['${loopStatus.index}'].valueTransactionAmount" 
           fieldName="valueTransactionAmountLbl${loopStatus.index}" 
           maxlength="30" classStyle="mandatory" /> 
          <spring:message code="valueTransactions.transactionDate" 
           var="valueTransactionDateLbl${loopStatus.index}" /> 
          <td> 
           <form:input type="text" path="transactions['${loopStatus.index}'].valueTransactionDate" cssClass="mandatory" value="<fmt:formatDate value="transactions['${loopStatus.index}'].valueTransactionDate" type="date" pattern="yyyy-MM-dd"/>" /> 
          </td> 
         </tr> 


      </c:forEach> 

私の最も最近の問題は次のとおりです。

JSPG0055E:名からXML属性を作成することができません[取引[]値[$ {loopStatus.index}]

答えて

17

使用することはできませんJSPタグを別のJSPタグの属性に追加します。ページ属性の日付の書式の結果を保存し、(あなたはJavaで変数を使用して行うように)このページ属性を使用します。あなたが使用することはできません春のJSTLタグの最新のリリースでは

<fmt:formatDate value="transactions['${loopStatus.index}'].valueTransactionDate" 
       type="date" 
       pattern="yyyy-MM-dd" 
       var="theFormattedDate" /> 
<form:input type="text" path="..." value="${theFormattedDate}"/> 
+1

ありがとう!それはほとんどそれをしました。私はちょうど値の属性値でモデルを参照する必要がありました= "$ {valueTransactionsModel.transactions [loopStatus.index] .valueTransactionDate}" – HellishHeat

5

属性値は次の形式になります。試してみるとvalue attribute is not valid for tag <form:input>というエラーが表示されます。あなたは、通常のHTML入力タグを使用して、この

<fmt:formatDate var="fmtDate" value="${form.bean.dateProperty}" pattern="dd/MM/yyyy"/> 
<input type="text" name="bean.dateProperty" value="${fmtDate}"/> 

醜いのような春のフォームへの結合が、私の作品をトリガするために、入力の名前としてパスを入れる必要があります。この場合

! ;)

+0

実際にこれは動作します...ありがとう:D –

関連する問題