激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務(wù)器之家 - 編程語言 - JAVA教程 - Java框架學(xué)習(xí)Struts2復(fù)選框?qū)嵗a

Java框架學(xué)習(xí)Struts2復(fù)選框?qū)嵗a

2021-04-01 14:52lavimer JAVA教程

這篇文章主要介紹了Java框架學(xué)習(xí)Struts2復(fù)選框?qū)嵗a,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下

復(fù)選框在web開發(fā)中使用的非常多,現(xiàn)在我們通過struts2的復(fù)選框標(biāo)簽來實(shí)現(xiàn)一些在開發(fā)中經(jīng)常遇到的問題。

先來看看這個(gè)標(biāo)簽的屬性:

Java框架學(xué)習(xí)Struts2復(fù)選框?qū)嵗a

注:listkey相當(dāng)于html中的value屬性,這個(gè)值在和后臺(tái)交互時(shí)才真正是我們?cè)诤笈_(tái)要使用的;listvalue只是內(nèi)容的顯示而已。

案例1

用戶選擇了喜歡的課程,現(xiàn)在要對(duì)已經(jīng)選擇的課程進(jìn)行修改,跳轉(zhuǎn)到修改界面,然后回顯已經(jīng)勾選的課程。

用戶已選課程界面:

Java框架學(xué)習(xí)Struts2復(fù)選框?qū)嵗a

點(diǎn)擊按鈕后進(jìn)入課程修改界面:

Java框架學(xué)習(xí)Struts2復(fù)選框?qū)嵗a

注:在修改界面要對(duì)用戶最初的選擇進(jìn)行回顯。

代碼實(shí)現(xiàn)!!!!

用戶已選課程界面:

?
1
2
3
4
5
6
7
<body>
您的課程:
<form action="checkboxaction_test.action" method="post">
  <s:checkboxlist list="{'java','.net','php','c++'}" name="courses" /></br>
  <input type="submit" value="我要修改"/>
  </form>
</body>

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 checkboxaction extends actionsupport {
    private static final long serialversionuid = 1l;
    /*用戶所選擇的課程(字符串,要去空格)*/
    private string courses;
    public string getcourses() {
        return courses;
    }
    public void setcourses(string courses) {
        this.courses = courses;
    }
    public string test(){
        /*去空格【必須用這種方式去空格,trim()這種方式不管用】*/
        string courstrs = this.courses.replaceall(" ", "");
        /*定義一個(gè)集合把用戶所選擇的課程存在集合中*/
        list<string> usercourses = new arraylist<string>();
        /*遍歷*/
        for (string str : courstrs.split(",")){
            usercourses.add(str);
        }
        /*把用戶所選擇的課程存在ognl context上下文中*/
        actioncontext.getcontext().put("usercourses", usercourses);
        /*以集合的形式把所有復(fù)選框都傳到結(jié)果頁面進(jìn)行展示,然后和用戶所勾選的進(jìn)行匹配*/
        list<string> cous = new arraylist<string>();
        cous.add("java");
        cous.add(".net");
        cous.add("php");
        cous.add("c++");
        /*把所有課程存在ognl context上下文中*/
        actioncontext.getcontext().put("cous", cous);
        return this.success;
    }
}

修改界面:

?
1
2
3
4
<body>
  您所選擇的課程為:
<s:checkboxlist name="courses" list="#cous" value="#usercourses" />  
 </body>

注:在修改界面,很簡(jiǎn)單就可以實(shí)現(xiàn)結(jié)果的回顯,另外,list和value的值,我們只需要#屬性名稱的形式就可以獲取,是因?yàn)槲覀冊(cè)赼ction中已經(jīng)把對(duì)象存在了actioncontext即ognlcontext上下文中。

下面我們通過一個(gè)相似的案例來更接近的模擬開發(fā)環(huán)境:

用戶選擇自己的偶像(一個(gè)javabean對(duì)象),然后同樣是跳轉(zhuǎn)到修改界面進(jìn)行修改,在修改界面進(jìn)行回顯數(shù)據(jù)。

用戶已選偶像界面:

Java框架學(xué)習(xí)Struts2復(fù)選框?qū)嵗a

修改界面(要實(shí)現(xiàn)數(shù)據(jù)的回顯)

Java框架學(xué)習(xí)Struts2復(fù)選框?qū)嵗a

代碼實(shí)現(xiàn)!!!

用戶已選偶像界面:

?
1
2
3
4
5
6
7
<body>
您的偶像:
<form action="checkboxlistaction.action" method="post">
  <s:checkboxlist list="#{1:'鄧小平',2:'習(xí)近平',3:'胡錦濤',4:'李克強(qiáng)'}" name="ids" listkey="key" listvalue="value"/></br>
  <input type="submit" value="我要修改"/>
  </form>
</body>

注:list為ognl創(chuàng)建的map集合。listkey相當(dāng)于表單提交的真實(shí)value值,我們把map的key傳到后臺(tái)進(jìn)行處理。

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 {
    /* 用戶id */
    private integer uid;
    /* 用戶名 */
    private string uname;
    /* 無參構(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;
    }
}

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
33
34
35
36
37
38
39
40
public class checkboxlistaction extends actionsupport {
    private static final long serialversionuid = 1l;
    /* 偶像集合 */
    private list<user> users;
    /* 偶像id字符串 */
    private string ids;
    public list<user> getusers() {
        return users;
    }
    public void setusers(list<user> users) {
        this.users = users;
    }
    public string getids() {
        return ids;
    }
    public void setids(string ids) {
        this.ids = ids;
    }
    public string execute() {
        /*模擬從數(shù)據(jù)庫中獲取所有的偶像,傳到前臺(tái)展示,然后和用戶選擇的進(jìn)行對(duì)比*/
        users = new arraylist<user>();
        users.add(new user(1, "鄧小平"));
        users.add(new user(2, "習(xí)近平"));
        users.add(new user(3, "胡錦濤"));
        users.add(new user(4, "李克強(qiáng)"));
        /*存到ognl context上下文中*/
        actioncontext.getcontext().put("users", users);
        /*定義一個(gè)集合,用來存放用戶所選的偶像id的集合*/
        list<integer> userids = new arraylist<integer>();
        /*獲取用戶所勾選的ids,去除空格【必須用這種方式,trim()方法不管用】*/
        ids = ids.replaceall(" ", "");
        /*迭代*/
        for (string str : ids.split(",")){
            userids.add(integer.valueof(str));
        }
        /*把id存到ognl上下文集合中*/
        actioncontext.getcontext().put("userids", userids);
        return this.success;
    }
}

修改界面(進(jìn)行數(shù)據(jù)的回顯):

?
1
2
3
4
<body>
  您的偶像為:
<s:checkboxlist name="users" list="#users" listkey="uid" listvalue="uname" value="#userids"/>  
 </body>

注:listkey和listvalue就是javabean的兩個(gè)屬性,checkboxlist迭代時(shí)會(huì)將他們放在值棧中,所以不需要#命名空間的形式來獲取,直接使用屬性名稱就可以獲取,value的值為javabean中uid的集合,自動(dòng)進(jìn)行匹配,然后選中對(duì)應(yīng)的值。

附:

1.如果你的項(xiàng)目沒有用到freemaker,卻又出現(xiàn)了如下圖所示的錯(cuò)誤!

Java框架學(xué)習(xí)Struts2復(fù)選框?qū)嵗a

那么,恭喜你,是因?yàn)槟愕膕truts2標(biāo)簽沒有name屬性導(dǎo)致!!!!(淚的教訓(xùn)啊,被它坑了兩個(gè)小時(shí)!)

總結(jié)

以上就是本文關(guān)于java框架學(xué)習(xí)struts2復(fù)選框?qū)嵗a的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

原文鏈接:http://blog.csdn.net/lzm1340458776/article/details/29825399

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人免费网站在线观看视频 | 狠狠操人人干 | 久久男人天堂 | 欧美一区二区精品夜夜嗨 | 国产成人在线免费视频 | 久久精品视频一区二区三区 | 宅男噜噜噜66一区二区 | 日韩精品无码一区二区三区 | 色八影院| www.17c亚洲蜜桃 | 国产日产精品一区二区三区四区 | 精品成人av一区二区在线播放 | 青青久在线视频 | 欧美一级做性受免费大片免费 | 日本在线观看中文字幕 | 91精品国产乱码久久久久久久久 | 亚洲成人国产综合 | xxxx8| 羞羞视频一区二区 | 羞羞的视频 | 欧美成人高清在线 | 日韩精品久久久久久久电影99爱 | 看片一区 | 女人久久久www免费人成看片 | 国产精品午夜未成人免费观看 | 97中文| wwwxxx国产 | 成人免费视频视频在线观看 免费 | 久久综合狠狠综合久久 | 精品国产一区二区三区天美传媒 | av懂色| 久草在线小说 | 黄色99视频| 天天草夜夜 | 国产1区在线观看 | 精品一区二区三区在线观看视频 | 国产超碰人人爽人人做人人爱 | 性欧美日本| 中文字幕在线观看国产 | 中文字幕在线播放视频 | 欧洲狠狠鲁 |