0

JSPで変更されたリスト値を取得してMVCコントローラーに戻すのに苦労しています。値は正常に表示されますが、フォームが送信されたときに変更がModelAttributeに表示されません(変更されたリスト以外の値は送信時に表示されます)。関連するコードの短縮版は次のとおりです。

JSP:

<c:forEach items="${poForm.poDetail}" varStatus="i">
...
<!-- Product Description -->
<td class="leftAlign"  >
  <form:input path="poDetail[${i.index}].description"  />
</td>

バッキングフォーム:

public class POForm {
  private List<PurchaseOrderDetail> poDetail;
...
}

購入注文の詳細:

public class PurchaseOrderDetail implements Comparable<PurchaseOrderDetail>{
    private String partNumber; // alpha-numeric part number (vendor's)
private String description; // Product name/description
... remaining properties are non-complex
}

コントローラ:

@RequestMapping(value="/savePO",method=RequestMethod.POST)
public ModelAndView savePO(@ModelAttribute("poForm") POForm poForm, final       
     HttpServletRequest request) {
.... "examine the poForm here and items of poDetail are unchanged"
}

試すべき提案はありますか?

4

2 に答える 2

0

私は以前、このような問題をいくつか抱えていたことを覚えています。そして、私の記憶が正しけれListば、バッキングを から に変更した後、問題はなくなりましたarray

于 2012-09-16T10:38:07.023 に答える
0

Ralph のおかげで、誤って間違ったフォームを送信したため、Spring MVC リストの値が返されていないことがわかりました。それを修正すると、リストの値が期待どおりに返されました。

于 2012-09-16T15:14:53.683 に答える