0

こんにちは、選択ドロップダウンリストに値を入力したいと思います。Struts 2、Tiles、および JSP を使用しています。Action クラスでリストを初期化しましたが、まだ次のエラーが発生します: 原因: タグ 'select'、フィールド 'list'、名前 'anneeResultat': 要求されたリスト キー 'anneesResultatsList' をコレクションとして解決できませんでした/配列/マップ/列挙型/イテレータ型。例: people または people.{name} - [unknown location] Action クラスのコードは次のとおりです。

private AnneeResultat anneeResultat;
private Map<String, String> anneesResultatsList = new HashMap<String, String>();

public Map<String,String> getAnneesResultatsList() {
    this.anneesResultatsList.put("2005","2005");
    this.anneesResultatsList.put("2006","2006");
    this.anneesResultatsList.put("2007","2007");
    this.anneesResultatsList.put("2008","2008");
    this.anneesResultatsList.put("2009","2009");
    this.anneesResultatsList.put("2010","2010");
    this.anneesResultatsList.put("2011","2011");

        return this.anneesResultatsList;
    }
    public void setAnneesResultatsList(Map<String,String> anneesResultatsList) {
        this.anneesResultatsList = anneesResultatsList;
    }

    return SUCCESS;
    }

私のstruts.xmlファイルには以下が含まれています:

<action name="ChoixAxes" class="fr.si2m.occ.web.actions.ChoixAxesAction"
            method="execute">
            <result type="tiles">choixAxes.tiles</result>
        </action>

私のjspはここにあります:

<s:set name="theme" value="'xhtml'" scope="page" />
        <s:form action="ChoisirAxes" name="choices" id="choices">
         <s:select name="anneeResultat" label="Année de résultats" list="anneesResultatsList"></s:select>

        <s:radio label="Listes nominatives" name="listesNominatives" list="#{'1':'Oui','2':'Non'}" value="2" />
        <s:submit value="Calculer provisions" name="calculerProvisions"/>
        <s:reset value="Annuler" />
        <input type="button" value="Critères sauvegardés" id="criteresSauvegardes"/>
        </s:form>

誰かが私を助けてくれますか?私は昨日からこの問題を抱えています。

4

3 に答える 3

0

Prepare インターセプターは、Preparable を実装するアクションで prepare() を呼び出します。このインターセプターは、実際の execute メソッドが実行される前に何らかのロジックが実行されるようにする必要がある場合に非常に役立ちます。

アクションは Preparable インターセプターを拡張し、prepare() メソッドをオーバーライドして、事前入力されたデータを提供する必要があります。

Struts2 インターセプターの準備

于 2012-10-05T09:34:04.950 に答える
-1

実はそうです、

Map session = ActionContext.getcontext().getsession();
session.put("key",list);

<s:select list="%{#session.key}">
于 2014-05-28T11:11:16.673 に答える