Struts2中的select標籤

來源:互聯網
上載者:User

今天有畢業生問了一個問題:

 

 

 

我在Dao層使用了public List findAllIDandName() {

  List templateIDandName = this.getHibernateTemplate().find("select tem.id,tem.templatename   from Template tem");

  return templateIDandName;

 }

返回的List中的儲存的資料結構是:[[1, weew], [2, GenPD20110425225339171F.java], [3, colo20110426000712562r.htm], [4, GenPD20110426001233531F.java], [5, GenPD20110426002055750F.java], [6, colo20110426003445843r.htm], [7, iTextAP20110426003712265I.doc], [8, colo20110426003850671r.htm], [9, GenPD20110426004353687F.java], [10, GenPDFActio20110426005243031n.java], [11, struts2標籤詳20110426010817546解.doc], [12, 濟南大學優秀學生幹部登記表(竇新春)20110426010909906.doc], null, null, null, null]。

現在我想在頁面上使用<s:select list="temList" label="請選擇要使用的模板" value="temList[0]"></s:select>  想讓listkey為id,listvalue為templatename。按照目前這種情況,下拉式清單的內容是id。像這種由HIbernateDaoSupport find()方法返回的List類型,我我應該怎麼在頁面中,擷取到list中的具體的資料啊?

 

 

呵呵,比較長,其實很簡單,就是怎樣用struts2的select標籤擷取action傳遞過來的list,我的回複:剛看到你的留言,不好意思,我理解你想把list返回給頁面,這個struts2標籤中是可以實現的<s:select name="dl.id" list="templist" listKey="id" listValue="xh" label="選擇學生"/>,這個是我以前上課時寫過的一個例子,其中templist就是從action傳遞過來的list,需要做的準備工作:1、Action類中,需要定義一個private List<Dlb> templist; 並有templist的getter和setter方法,其中Dlb是我的一個pojo類,裡面有兩個屬性id和xh,還有屬性的getter、setter方法。注意:泛型是必須的,Dlb是一個登陸用的類。2、你從dao中find回來的list,賦值給templist(通過templist的setter方法)。3、select標籤中,list中名字必須跟action中定義的templist一樣,同時listKey必須個Dlb類中的屬性id一致,listValue必須和Dlb中的xh屬性一致,這樣就能傳遞了。對應你的例子,我大概給你寫一下:首先,action中定義個temList:  private List<Template> temList;其次,在action中對應方法裡,把findAllIDandName()返回的list,通過setTemList()這個方法給temList賦值;最後在頁面裡<s:select name="templateid" list="temList" listKey="id" listValue="templatename" label="請選擇要使用的模板"/>補充一點,一般填充下拉式功能表,我習慣讓action類實現Preparable介面,然後實現prepare方法,至於為什麼,什麼時候需要這樣做,大家可以做做實驗,考慮一下。這樣能看明白否?

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.