2012-06-28 2 views
1

Моя проблема заключается в том, что мне не удается получить атрибут объекта списка моего тега select.Struts2 получить атрибут объекта из тега select

У меня есть выберите тег в моем .jsp так:

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

и в моем действии, я объявил ArrayList (с геттер и сеттер):

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; 
    } 
} 

Чтобы получить выбранное значение в моем действии я объявленную (ти геттер и сеттер):

Private String fonctionSelectionne; 

, но я просто abbled, чтобы получить код (listkey) моего объекта с getFonctionSelectionne. Я хочу получить атрибут кода (listkey) и атрибут libelle (listvalue).

Кто-нибудь знает, как мне помочь? благодаря

ответ

1

2 балла:

  1. должно быть Libelle, не Libelle

    <s:select list="listFonction" listKey="code" listValue="libelle" 
          name="fonctionSelectionne" value="defaultFonction" /> 
    
  2. для списка = "listFunction", вам нужно добытчика Collection getListFunction() {} в вашем классе действий

UPDATE

i'am не обязательно это. но вы можете попробовать.

здесь является идея, не доставить список, но карта, чтобы выбрать тег

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

затем в СПЯ:

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

Пункт 1: это ОК (просто ошибка, когда я выписываю) пункт 2: у меня уже есть getter для listFunction – user1428965

+0

вы поместили данные в свою 'Arra yList ', вы должны переписать getter для получения данных для тега select. например 'getListFunction() {listFunction.add (новое FUnction (1," test ")); return listFunction;}' – Jaiwo99

+0

В моем списке есть значения. Значения этих значений соответствуют значению в элементе выбора, но проблема заключается именно в том, когда я пытаюсь получить выбранное значение. Я получаю ключ, но я не могу получить ключ и значение. – user1428965

0

Вы должны сделать сеттер атрибута listFonction на ClassAction

Смежные вопросы