2012-06-28 49 views
1

我的問題是,我沒有成功獲取我的選擇標記列表對象的屬性。Struts2從選擇標記獲取對象屬性

我有一個選擇的標籤在我的.jsp這樣的:

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

,並在我的行動,我宣佈一個ArrayList(與getter和setter):

private ArrayList<Fonction> listFonction = new ArrayList<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; 
    } 
} 

要獲得我的行動中選定的值我宣佈(蒙田者和setter):

Private String fonctionSelectionne; 

,但我只是abbled與getFonctionSelectionne讓我對象的代碼(listkey)。 我想獲取代碼屬性(listkey)和libelle屬性(listvalue)。

有誰知道如何幫助我? 感謝

回答

1

2點:

  1. 應該libelle,不Libelle

    <s:select list="listFonction" listKey="code" listValue="libelle" 
          name="fonctionSelectionne" value="defaultFonction" /> 
    
  2. 的列表= 「listFunction」,你需要吸氣劑收集getListFunction() {} in your action class

UPDATE

我'不知道這一點。但你可以試一試。

這裏的想法,也不能提供一個列表,但地圖選擇標籤

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"/> 
+0

第1點:它好了(只是我寫出來時出錯) 第2點:我已經有一個獲取listFunction – user1428965

+0

你把數據放在你的'Arra yList ',您應該重寫getter以獲取select標籤的數據。像'getListFunction(){listFunction.add(new FUnction(1,「test」)); return listFunction;}' – Jaiwo99

+0

我的列表中有值。這些值是正確顯示在選擇中,但問題是當我嘗試獲得選定的值。我得到了鑰匙,但我無法獲得鑰匙和價值。 – user1428965

0

你應該把屬性listFonction的二傳手在ClassAction上