Struts2从select标签获取对象属性

时间:2012-06-28 09:31:49

标签: list object select struts2

我的问题是我没有成功获取select标签列表对象的属性。

我的.jsp中有一个select标签,如下所示:

<s:select list="listFonction" listKey="code" listValue="Libelle"
                name="fonctionSelectionne" value="defaultFonction" />

在我的行动中,我宣布了一个arraylist(带有getter和setter):

private ArrayList<Fonction> listFonction = new ArrayList<Fonction>(); 

我还有另一个类Fonction:

public class Fonction {
    private int code;
    private String libelle;

    public Fonction(int code, String libelle)
    {
        this.code = code;
        this.libelle =libelle;
    }
    public Fonction()
    {

    }
    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getLibelle() {
        return libelle;
    }

    public void setLibelle(String libelle) {
        this.libelle = libelle;
    }
}

要在我声明的动作中获取所选值(whith getter和setter):

Private String fonctionSelectionne;

但我只是用listkey来获取我的对象的代码(getFonctionSelectionne)。 我想获取代码属性(listkey)和libelle属性(listvalue)。

有谁知道如何帮助我? 感谢

2 个答案:

答案 0 :(得分:1)

2分:

  1. 它应该是 libelle ,而不是 Libelle

    <s:select list="listFonction" listKey="code" listValue="libelle"
                name="fonctionSelectionne" value="defaultFonction" />
    
  2. 对于list =“listFunction”,您需要在动作类中使用getter Collection getListFunction(){}

  3. <强>更新

    我不确定这个。但你可以尝试一下。

    这是一个想法,不提供列表,而是选择标记的地图

    Map getListFunction(){
    Map<Object, String> map;
    Function f = new Function(1, "test");
    map.put(f, f.libelle);
    return map;
    }
    

    然后在jsp:

    <s:select list="listFonction" listKey="key" listValue="value"
                name="fonctionSelectionne"/>
    

答案 1 :(得分:0)

您应该在ClassAction

上创建属性listFonction的setter