簡體   English   中英

Struts2填充標簽選擇下拉列表

[英]Struts2 populate tag select drop down list

我嘗試用Struts填充選擇下拉列表,但是它不起作用:

我有動作課:

私有整數anneeResultat;

    private List<AnneeResultat> anneeResultatList = new ArrayList<AnneeResultat>();


public Integer getAnneeResultat() {

        return anneeResultat;
    }
    public void setAnneeResultat(Integer anneeResultat) {
        this.anneeResultat = anneeResultat;
    }


public List<AnneeResultat> getAnneeResultatList() {
    this.anneeResultatList.add(new AnneeResultat(2005,"2005"));
    this.anneeResultatList.add(new AnneeResultat(2006,"2006"));
    this.anneeResultatList.add(new AnneeResultat(2007,"2007"));
    this.anneeResultatList.add(new AnneeResultat(2008,"2008"));
    this.anneeResultatList.add(new AnneeResultat(2009,"2009"));
    this.anneeResultatList.add(new AnneeResultat(2010,"2010"));
    this.anneeResultatList.add(new AnneeResultat(2011,"2011"));
        return this.anneeResultatList;
    }
    public void setAnneeResultatsList(List<AnneeResultat> anneeResultatList) {
        this.anneeResultatList = anneeResultatList;
    }
    public String execute(){
    return SUCCESS;
    }

這是AnneeResultat類:

public class AnneeResultat {
     private Integer keyAnnee;  
     private String valueAnnee;         
    public AnneeResultat() {    
    }
    public AnneeResultat(Integer key, String value) {
        super();
        this.keyAnnee = key;
        this.valueAnnee = value;
    }
    public Integer getKey() {
        return keyAnnee;
    }
    public void setKey(Integer key) {
        this.keyAnnee = key;
    }
    public String getValue() {
        return valueAnnee;
    }
    public void setValue(String value) {
        this.valueAnnee = value;
    }   
}

這是我的jsp頁面上使用的select標記。 我在頁面上使用圖塊。 這是我頁面上的第一個版本:

<s:select name="anneeResultat" label="Année de résultats" list="anneeResultatList" listKey="keyAnnee" listValue="valueAnnee"></s:select>

結果是在我的頁面中,select標記生成一個帶有空元素的選擇框。 我在選擇框上看不到價值。 沒有可見的值。 生成的代碼是:

<select name="anneeResultat" id="choices_anneeResultat">
    <option value=""></option>
    <option value=""></option>
    <option value=""></option>
    <option value=""></option>
    <option value=""></option>
    <option value=""></option>
    <option value=""></option>
</select>

當我使用以下選擇標記:

<s:select name="anneeResultat" label="Année de résultats" list="anneeResultatList" key="keyAnnee" value="valueAnnee"></s:select>

哈希碼打印在選擇框列表上。

生成的代碼是:

<select name="anneeResultat" id="choices_anneeResultat">
    <option value="fr.si2m.occ.dao.model.ui.AnneeResultat@1b209bc">fr.si2m.occ.dao.model.ui.AnneeResultat@1b209bc</option>
    <option value="fr.si2m.occ.dao.model.ui.AnneeResultat@19d5723">fr.si2m.occ.dao.model.ui.AnneeResultat@19d5723</option>
    <option value="fr.si2m.occ.dao.model.ui.AnneeResultat@c3bba9">fr.si2m.occ.dao.model.ui.AnneeResultat@c3bba9</option>
    <option value="fr.si2m.occ.dao.model.ui.AnneeResultat@5554a3">fr.si2m.occ.dao.model.ui.AnneeResultat@5554a3</option>
    <option value="fr.si2m.occ.dao.model.ui.AnneeResultat@27b326">fr.si2m.occ.dao.model.ui.AnneeResultat@27b326</option>
    <option value="fr.si2m.occ.dao.model.ui.AnneeResultat@6283de">fr.si2m.occ.dao.model.ui.AnneeResultat@6283de</option>
    <option value="fr.si2m.occ.dao.model.ui.AnneeResultat@1bf7b9c">fr.si2m.occ.dao.model.ui.AnneeResultat@1bf7b9c</option>
</select>

我不知道如何解決這個問題。 如果有人有什么想法,那就歡迎您!

只需從AnneeResultat刪除構造函數, AnneeResultat在JSP中使用以下select標記。

<s:select name="anneeResultat" label="Année de résultats" 
    list="anneeResultatList" key="keyAnnee" value="valueAnnee"></s:select>

對要顯示的列使用“ listValue”。

<s:select name="anneeResultat" label="Année de résultats" list="anneeResultatList" key="keyAnnee" listValue="valueAnnee"></s:select>

“ listKey = foo”期望一個具有相同名稱的getter,但該名稱的名稱后面附加了“ get”,例如getFoo()。

將您的獲取方法名稱更改為“ getKeyAnnee”,或將listKey更改為“ key”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM