私は現在、Struts フレームワークを掘り下げようとしていますが、ネストされたタグをテストしています。データを取得するときに問題が発生しました。私のコードは次のとおりです:
<nested:select property="formatDisponible">
<logic:iterate id="listFormat" property="formatList" name="videoGameForm">
<html:option value="${listFormat}" />
</logic:iterate>
</nested:select>
検証アクションを実行すると (フォームからデータを取得することを意味します)、次の例外が発生しました。
GRAVE: Method invocation failed.
java.lang.IllegalArgumentException: java.lang.ClassCastException@110e3b5
at sun.reflect.GeneratedMethodAccessor80.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
ご協力いただきありがとうございます(変更があればお知らせします)。
以前のコードで何がうまくいかなかったのかがようやくわかりました。どういうわけか、他の人が同じ問題に直面している場合は、正しいコードを以下に示します。
<nested:nest property="formatDisponible">
<nested:select property="id">
<html:options collection="formatList" property="id" labelProperty="nom" labelName="id"></html:options>
</nested:select>
</nested:nest>
私は最初のテストを修正し、その解決策に行き着きました。私が今理解しようとしているのは、選択した値を設定する方法だけです(このフォームを使用してオブジェクトを更新しているため)。解決できたら、投稿を更新します。