其實(shí)以前我對(duì)java的struts框架沒(méi)有具體認(rèn)識(shí),通過(guò)這篇文章,真的讓我了解了框架的用處,好處。
下拉框在web開(kāi)發(fā)中經(jīng)常會(huì)使用到,下面我們通過(guò)struts2的標(biāo)簽來(lái)實(shí)現(xiàn)下拉框的一些功能。
先來(lái)看看<s:select>
的一些參數(shù):
注:listkey相當(dāng)于html中的value值,我們是通過(guò)它的值來(lái)和后臺(tái)進(jìn)行交互的。
案例:用戶(hù)選擇了自己的偶像,然后要對(duì)其進(jìn)行修改,跳轉(zhuǎn)到修改界面之后,要回顯用戶(hù)最初選擇的偶像。
用戶(hù)偶像界面(假設(shè)用戶(hù)當(dāng)前的選擇為"習(xí)近平"):
實(shí)現(xiàn)代碼!!!!
用戶(hù)偶像界面:
1
2
3
4
5
|
<form action= "selectaction.action" method= "post" > 您的偶像為:<s:select list= "#{1:'鄧小平',2:'胡錦濤',3:'習(xí)近平',4:'李克強(qiáng)'}" name= "id" listkey= "key" listvalue= "value" /> <input type= "submit" value= "我要修改" > </form> </body> |
注:list使用ognl創(chuàng)建的map集合。
action代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
public class selectaction extends actionsupport { private static final long serialversionuid = 1l; /*用戶(hù)所選的偶像的id*/ private string id; /*偶像集合*/ private list<user> users; public string getid() { return id; } public void setid(string id) { this.id = id; } public list<user> getusers() { return users; } public void setusers(list<user> users) { this.users = users; } public string execute(){ /*創(chuàng)建一個(gè)集合模擬從數(shù)據(jù)庫(kù)中查出所有的用戶(hù)*/ users = new arraylist<user>(); users.add(new user(1, "鄧小平")); users.add(new user(2, "胡錦濤")); users.add(new user(3, "習(xí)近平")); users.add(new user(4, "李克強(qiáng)")); /*把所有的用戶(hù)存在ognl context上下文中*/ actioncontext.getcontext().put( "users" , users); //注:這里并不需要把用戶(hù)所選的值存起來(lái),因?yàn)槲覀兊膇d屬性就是用戶(hù)所選的值, //作為action的屬性,它已經(jīng)保存到值棧中去了,可以直接根據(jù)屬性名id來(lái)獲取 return this .success; } } |
javabean對(duì)象:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
public class user { /* 用戶(hù)id */ private integer uid; /* 用戶(hù)名 */ private string uname; /* 無(wú)參構(gòu)造函數(shù) */ public user() { } /* 構(gòu)造函數(shù) */ public user(integer uid, string uname) { this .uid = uid; this .uname = uname; } public integer getuid() { return uid; } public void setuid(integer uid) { this .uid = uid; } public string getuname() { return uname; } public void setuname(string uname) { this .uname = uname; } } |
修改界面:
1
2
3
4
|
<body> 您的偶像為: <s:select list= "#users" listkey= "uid" listvalue= "uname" value= "id" /> </body> |
注:value值只寫(xiě)了一個(gè)id(用戶(hù)所選偶像的id)屬性名稱(chēng),是因?yàn)樗莂ction中的屬性,action中的屬性會(huì)被保存到值棧中,所以可以直接獲取。
總結(jié)
第一次體會(huì)到框架的好處,見(jiàn)識(shí)淺陋,勿怪。。
以上就是本文關(guān)于struts2下拉框?qū)嵗馕龅娜績(jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專(zhuān)題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
原文鏈接:http://blog.csdn.net/lzm1340458776/article/details/29854241