struts2中s select標籤的使用

2022-08-02 04:18:10 字數 2384 閱讀 7477

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...