復(fù)選框和Struts2后臺(tái)交互代碼詳解
本文研究的主要是Struts框架中復(fù)選框的相關(guān)內(nèi)容。復(fù)選框在web開(kāi)發(fā)中用的非常廣泛,具體介紹如下。
案例
如下圖,當(dāng)前為用戶(hù)選中的水果為"香蕉",點(diǎn)擊按鈕,跳轉(zhuǎn)到修改界面進(jìn)行修改。
跳轉(zhuǎn)到修改界面后要回顯用戶(hù)的選擇(香蕉),然后由用戶(hù)再次進(jìn)行勾選,如圖:
前臺(tái)界面:
<body> <form action="checBoxAction_test.action" method="post"> 請(qǐng)選擇您喜歡的水果:<br> <input type="checkbox" name="fruits" value="香蕉"/>香蕉 <input type="checkbox" name="fruits" value="雪梨"/>雪梨 <input type="checkbox" name="fruits" value="西瓜"/>西瓜</br> <input type="submit" value="跳轉(zhuǎn)到修改界面進(jìn)行修改"> </form> </body>
后臺(tái)ChecBoxAction.java代碼:
public class ChecBoxAction extends ActionSupport { private static final long serialVersionUID = 1L; /*前臺(tái)通過(guò)復(fù)選框選中的水果名稱(chēng)*/ private String fruits; public String getFruits() { return fruits; } public void setFruits(String fruits) { this.fruits = fruits; } public String test(){ /*沒(méi)去除空格之前*/ System.out.println(this.getFruits()); /*獲取從前臺(tái)穿過(guò)來(lái)的字符串(注:這里必須去除空格,因?yàn)閭鬟^(guò)來(lái)的每個(gè)值之間除了有逗號(hào)分隔符之外還都有空格,但是通過(guò)trim()的方式是去不掉空格的)*/ //String fruitStr = this.getFruits().trim(); /*必須如是這般才能去掉空格*/ String fruitStr = this.getFruits().replaceAll(" ", ""); System.out.println("去除空格之后的字符串:" + fruitStr); /*把字符串通過(guò)逗號(hào)分隔為一個(gè)字符串?dāng)?shù)組*/ String[] fruit = fruitStr.split(","); /*遍歷所有的值,把它們存到一個(gè)集合中*/ List<String> myFruits = new ArrayList<String>(); for (int i=0; i<fruit.length; i++){ myFruits.add(fruit[i]); } /*把用戶(hù)選中的復(fù)選框存到Map中發(fā)送到前臺(tái)*/ ActionContext.getContext().put("myFruits", myFruits); /*模擬從數(shù)據(jù)庫(kù)中查出所有的值,在前臺(tái)展示,然后和用戶(hù)選中的進(jìn)行匹配*/ List<String> list = new ArrayList<String>(); list.add("香蕉"); list.add("雪梨"); list.add("西瓜"); ActionContext.getContext().put("list", list); return this.SUCCESS; } }
注:復(fù)選框向后臺(tái)傳值,傳過(guò)去的是一個(gè)字符串,且?guī)в锌崭瘢员仨毴コ崭?,但是用trim()方法是去除不了的,使用trim()方法之后的效果。如下:
如圖,毫無(wú)效果!但是,我們可以使用replaceAll()方法,去替代空格,效果如下:
另外為了在修改界面展示所有的復(fù)選框(水果),我們?cè)贏ction中模擬從數(shù)據(jù)庫(kù)中取出所有的值,然后和用戶(hù)選擇的復(fù)選框一起傳到修改界面。
修改界面:
<body> <form action="checBoxAction_test.action" method="post"> 您選擇的水果:<br> <c:forEach items="${list}" var="list"> <input type="checkbox" value="${list}" <c:forEach items="${myFruits}" var="fr"> ${fr == list ? "checked" : ""} </c:forEach> />${list} </c:forEach> </br> <input type="submit" value="修改"/> </form> </body>
注:修改界面比較復(fù)雜,首先是遍歷所有復(fù)選框(水果),在每個(gè)浮選中又使用一個(gè)forEach循環(huán),去遍歷用戶(hù)選擇的所有復(fù)選框(水果),然后通過(guò)三目運(yùn)算符去判斷當(dāng)前復(fù)選框是否被用戶(hù)選中,如果匹配,就勾選。
總結(jié)
以上就是本文關(guān)于復(fù)選框和Struts2后臺(tái)交互代碼詳解的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專(zhuān)題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
- struts1之ActionServlet詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
- Java中struts2和spring MVC的區(qū)別_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
- struts1登錄示例代碼_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
- Java Struts圖片上傳至指定文件夾并顯示圖片功能
- 詳解JAVAEE——SSH三大框架整合(spring+struts2+hibernate)
- 實(shí)例詳解java Struts2的配置與簡(jiǎn)單案例
- java+jsp+struts2實(shí)現(xiàn)發(fā)送郵件功能
- java中的Struts2攔截器詳解
相關(guān)文章
java實(shí)現(xiàn)圖片裁切的工具類(lèi)實(shí)例
這篇文章主要介紹了java實(shí)現(xiàn)圖片裁切的工具類(lèi)實(shí)例,涉及Java針對(duì)圖片的讀取、修改等相關(guān)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11SpringBoot讀取properties配置文件中的數(shù)據(jù)的三種方法
本文主要介紹了SpringBoot讀取properties配置文件中的數(shù)據(jù)的三種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-06-06使用Apache Spark進(jìn)行Java數(shù)據(jù)分析的步驟詳解
今天我們將探討如何使用Apache Spark進(jìn)行Java數(shù)據(jù)分析,Apache Spark是一個(gè)強(qiáng)大的大數(shù)據(jù)處理引擎,它支持批處理和流處理,特別適合處理大規(guī)模數(shù)據(jù)集,在Java中使用Spark,我們可以利用其強(qiáng)大的數(shù)據(jù)處理能力來(lái)進(jìn)行各種數(shù)據(jù)分析任務(wù),需要的朋友可以參考下2024-07-07Java Swing組件下拉菜單控件JComboBox用法示例
這篇文章主要介紹了Java Swing組件下拉菜單控件JComboBox用法,結(jié)合具體實(shí)例形式分析了Swing組件下拉菜單控件JComboBox的具體定義、使用方法及相關(guān)使用注意事項(xiàng),需要的朋友可以參考下2017-11-11Java中File、Base64、MultipartFile之間相互轉(zhuǎn)換的代碼詳解
File、Base64和MultipartFile都是在編程中常用的類(lèi)或者數(shù)據(jù)類(lèi)型,用于處理文件和數(shù)據(jù)的存儲(chǔ)、傳輸和轉(zhuǎn)換等操作,本文將給大家介紹了Java中File、Base64、MultipartFile之間相互轉(zhuǎn)換,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下2024-04-04mall整合SpringSecurity及JWT實(shí)現(xiàn)認(rèn)證授權(quán)實(shí)戰(zhàn)
這篇文章主要為大家介紹了mall整合SpringSecurity及JWT實(shí)現(xiàn)認(rèn)證授權(quán)實(shí)戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06