1.第乙個例子:
2.第二個例子:
3.第三個例子:
hashmap map = new linkedhashmap();
map.put(1,"aaa");map.put(2,"bbb");
map.put(3,"ccc");
request.setattribute("map",map);
request.setattribute("aa","2");
摘抄自
struts2的select標籤中,常用的有以下幾個屬性:
(1)struts2中的select 標籤中,必須設定的屬性只有乙個,即是list。
(2)select標籤的list中必須有值,不然會報錯。如果沒有值,可以加上headerkey, headervalue,這樣就可以通過了。如:
xml **
其中,即使list中有值,我們也通常會加上headerkey, headervalue,即列表中顯示的第乙個選項。注意,headerkey不可以為空,不可以為-1。
(3)list屬性:通常是在action中定義的,必須是乙個可以迭代的源,如為乙個list, map, set等。如果是乙個map,那麼map的key就對應於select標籤中的value,map中的value就對應於select標籤中的option。而如果是乙個list或者是乙個set,那麼可以通過listkey和listvalue指定。
(4)listkey和listvalue:listkey即對應於select標籤中的value, listvalue即對應於select標籤中的option。
(5)name屬性:即是表單中select的名稱。
使用例子:
比如在做人員資訊管理系統中,需要設定人員的民族、籍貫等資訊,而這些資訊一把不需要使用者手動輸入,而是通過下拉框進行選擇,那麼使用struts2的select標籤應該如何實現呢,好,請看下面:
在action類中,新增乙個成員,string nationid;民族id,設定getter和setter方法,新增乙個map型別的成員變數,map nationmap;裡面存放民族id和對應的民族名稱,設定getter和setter方法,在execute方法中,新增如下**:
nationmap.put("1","漢族");
nationmap.put("2","苗族");
然後,在jsp頁面中使用select標籤,注意要加入標籤庫的引用:<% taglib uri="/struts-tags" prefix="s" %>,當然了一定要加入struts2的jar包才可以哦
使用標籤:
這樣就可以了,簡單吧!
上面list裡面用的是map型別的變數,其實list裡面也可以是list型別的變數,那麼如果是list型別的變數,select標籤就需要使用這種形式
其中nations是list型別的變數,裡面封裝了乙個bean,bean裡面定義了兩個變數,乙個是id,乙個是name。這樣就可以了。
今天通過url傳值,卻發現select不能獲取傳遞過去的值,讓我很鬱悶,搞了半天才弄明白怎麼回事!趁著這股勁說說select的用法吧!
首先上官方介紹:
位址 : select tag reference
上面就是我使用的test例項了!挨個解釋吧!
首先你要用到select,可以只使用 標籤,解釋下這個標籤屬性:
headervalue : 預設值value
headerkey : 預設name
list : 源資料 (可以在action方法裡從資料庫獲取list)
name : 被選資料存放的位置(這裡我方在物件obj的屬性值username中《需在action中定義該物件》)
listkey : 下拉選項的name
listvalue : 下拉選項的value
value : 預設值
但是乙個下拉列表往往是可以重複使用的,那麼我們將它單獨定義到乙個action中,這裡我的action的namespace是system,所以如我們上面定義的標籤:
name : 源資料名(對應get方法名)
namespace : 我們在struts.xml中定義的name
id : 相當於別名(在後面呼叫該actiond的時候直接用#號使用)
那就這樣了,我就用到這些!
今天遇到的是什麼問題呢? 就是value了. 我在form表單跳轉的時候下拉列表可以很好的儲存值,但是通過url跳轉的時候始終無法獲取值!我在頁面可以列印出傳遞的值,可到了下拉列表就不行!
後來試了老半天,才發現是html在eclipse中format的時候回車鍵被換成空格,這讓我的值後面都有了空字串,而select獲取預設值又是通過key來一一對應的,所以就獲取不到了,在後面加上trim屬性就好了,太殘念了....
還有獲取值的方式也很鬱悶,使用%來獲取的,看來的確要補下ognl才行啊.....
struts2中如何使s select標籤唯讀
在開發openjweb平台期間遇到這樣乙個問題,在編輯頁面中,狀態位字段是由系統設定的,不應該由人工設定,所以狀態位欄位 應該顯示出來但不允許被編輯,使用struts2的標籤不具有disabled屬性,除非將theme設定為 才可以使用disabled,那麼如果不使用 的theme還有其他辦法使se...
struts2中s select標籤的使用
1.第乙個例子 2.第二個例子 3.第三個例子 hashmap map new linkedhashmap map.put 1,aaa map.put 2,bbb map.put 3,ccc request.setattribute map map request.setattribute aa 2...
struts2中s select標籤的使用
這是我的jsp頁面取值,下拉列表 qyzrcode 1 list 建立列表的可迭代資料來源,必設項 list必須有值,如果沒值則必須設定headerkey,headervalue 2 headerkey 設定列表的題頭主鍵值.一定不能為空值 1 或 是正確的取值,是錯誤的取值。3 headerval...