2013-08-01 48 views
0

當我使用struts2標記進行選擇下拉列表時。我收到以下錯誤:「請求的列表鍵」myList「無法作爲集合/數組/映射/枚舉/迭代器類型解析,例如:people或people。{name}」。 我的要求是從操作類中檢索變量列表並在struts2的下拉列表中顯示它。我確實需要將它作爲對象。未能在Struts2下拉列表中顯示數據

private List<String> mylist; 

public String execute(){ 
    mylist=new ArrayList<String>(); 
    mylist.add("first"); 
    mylist.add("second"); 
    mylist.add("third"); 
    setName("arun"); 

    return SUCCESS; 
} 
public List<String> getMylist() { 
    return mylist; 
} 
public void setMylist(List<String> mylist) { 
    this.mylist = mylist; 
} 

JSP:

<s:select label="MyList" name="myList" headerKey="-1" 
    headerValue="Select Value" list="MyList" /> 
+4

將'list =「MyList」'更改爲'list =「mylist」''。 –

+0

我把所有這些myList都變成了mylist,既在jsp中也在action class中。但是,我仍然得到相同的錯誤 – Arun

+0

在行動?爲什麼?僅在JSP中更改。 –

回答

0

要獲得在JSP中Struts2的下拉列表中值,需要初始化動作列表如下給出

private String mylist; 

// getter and setter 

//邏輯來獲取列表像這樣

ShowSearch drop=new ShowSearch(); 
service=drop.serviceType(); //value can be from DB or manually set in list 
setMylist(service); 

而在JSP中,

<s:select label="Drop" name="mylist" headerKey="-1" 
    headerValue="--Select--" Value" list="mylist" /> 

注意:在jsp中用於列表的名稱應該與操作類中的初始化變量相同。

相關問題