【问题标题】:Struts2 get object attribute from select tagStruts2 从选择标签中获取对象属性
【发布时间】:2012-06-29 19:15:07
【问题描述】:

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

我的 .jsp 中有一个这样的选择标签:

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

在我的行动中,我声明了一个数组列表(带有 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;
    }
}

为了在我声明的操作中获取选定的值(使用 getter 和 setter):

Private String fonctionSelectionne;

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

有人知道如何帮助我吗? 谢谢

【问题讨论】:

    标签: list object select struts2


    【解决方案1】:

    2 分:

    1. 应该是 libelle,而不是 Libelle

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

    更新

    我不确定。不过你可以试一试。

    这里是思路,不要提供列表,而是要选择标签的地图

    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 点:没关系(我写出来的时候只是一个错误)第 2 点:我已经有一个用于 listFunction 的吸气剂
    • 您是否将数据放入您的ArrayList&lt;Function&gt;,您应该重写getter 以获取select 标记的数据。喜欢getListFunction(){listFunction.add(new FUnction(1,"test"));return listFunction;}
    • 我的列表中有值。这些值在选择中正确显示,但问题只是当我尝试获取所选值时。我得到了密钥,但我无法得到密钥和值。
    • @user1428965 请查看更新。
    【解决方案2】:

    你应该在 ClassAction 上设置属性 listFonction

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多