0

変数を持つアクションがありますHashMap<String, MyObject>

私のオブジェクト:

 public class MyObject {

    private Boolean confermata;

    private String idObj;

    private String versione;

    /* (getters and setters) */

 }

JSP スニペットの場合:

<s:hidden name="form.datiVersioneQuoteAssegnazione['%{#tmpIdObj}'].confermata"/>
<s:hidden name="form.datiVersioneQuoteAssegnazione['%{#tmpIdObj}'].idObj"/>
<s:hidden name="form.datiVersioneQuoteAssegnazione['%{#tmpIdObj}'].versione"/>

tmpIdObjは別の変数です...大丈夫です。

問題: DB から MyObject を生成して JSP をロードすると、出力は正しくなりますが、データをサーバーに送信すると (my のボタンをクリックすると<s:form>)、ハッシュマップが正しく構築されます。デバッグすると、<String,MyObject>フォームからの値が取得されないため、MyObjects オブジェクトはすべて空になります...さらに、MyObjects のセッターが呼び出されていないことがわかりました。誰かが理由を教えてもらえますか?

4

1 に答える 1

0

私はそれを解決しました。問題は、ハッシュマップを定義したことです:

private HashMap<String, MyObject> datiVersioneQuoteAssegnazione;

次のようにマップとして定義すると、機能します。

private Map<String, MyObject> datiVersioneQuoteAssegnazione;

Struts は HashMaps を認識しないようです...奇妙なことです。

于 2013-05-03T14:20:50.270 に答える