ユーザーにリストから選択してほしくないものがありArrayList
ます。Offers
どういうわけか、マッピングに問題があるようです。
要素はselect
問題なく表示され、オファーのすべての名前が表示されますが、選択したオファーをコントローラーに渡すことができません。
オファーを受け取るコントローラー:
@RequestMapping(value = "/setcostumer", method = RequestMethod.POST)
public String setCostumer(ModelMap map,
@ModelAttribute("offer") Offer offer) {
// ...
}
これらはフォームを含む jsps です。Bean を渡す 2 つの方法を試しました。
jsp 1:
<form:form modelAttribute="offer" action="setcostumer" method="post">
<form:select path="offer">
<form:options items="${offers}" itemValue="offer"
itemLabel="offer" />
</form:select>
結果:
org.springframework.beans.NotReadablePropertyException: Bean クラス [com.me.model.offer] の無効なプロパティ 'offer': Bean プロパティ 'offer' が読み取れないか、無効なゲッター メソッドがあります: ゲッターの戻り値の型はセッターのパラメータータイプ?
jsp 2:
<form:form modelAttribute="offer" action="setcostumer" method="post">
<legend>Choose offer.</legend>
<form:select path="name" items="${offers}" itemLabel="name" />
<br />
<input type="submit" value="continue" />
</form:form>
POST ヘッダー: name:com.me.model.Offer@27a464d7