日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

Spring MVC:表单处理卷。 3 –复选框处理

發(fā)布時(shí)間:2023/12/3 javascript 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring MVC:表单处理卷。 3 –复选框处理 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我已經(jīng)發(fā)布了有關(guān)使用Spring MVC標(biāo)簽庫(kù)處理'checkbox'標(biāo)簽的帖子。 現(xiàn)在,我要開發(fā)此主題并繼續(xù)使用“復(fù)選框”標(biāo)簽。 它并不難,但是在某些情況下,您最好使用它。 在本文中,我將結(jié)合java.util.List和java.util.Map提供Spring'checkboxes'標(biāo)記的示例,因此準(zhǔn)備研究?jī)蓚€(gè)示例。

在開始演示示例之前,我想談?wù)劇皬?fù)選框”標(biāo)簽的用途。 那么什么時(shí)候應(yīng)該使用它呢? 如果要在運(yùn)行時(shí)中生成復(fù)選框,答案很明顯
您必須使用“復(fù)選框”標(biāo)簽。 這將幫助您避免JSP中的硬編碼值。 'checkboxes'標(biāo)簽可以與數(shù)組和java.util.Collection一起使用。 進(jìn)一步,我將研究List和Map的兩種情況。

列表和“復(fù)選框”標(biāo)簽

第一個(gè)示例將與列表一起使用。 與上一篇文章一樣,我必須創(chuàng)建一個(gè)POJO并使用適當(dāng)?shù)膅etter和setter方法在其中聲明所需的List屬性。

public class FootballTeams {private List teamsList;public List getTeamsList() { return teamsList; }public void setTeamsList(List teamsList) { this.teamsList = teamsList; }}

創(chuàng)建域模型后,我應(yīng)該使用兩種方法開發(fā)控制器-一種用于在帶有復(fù)選框的頁(yè)面上導(dǎo)航,另一種用于處理復(fù)選框。

@Controller public class FootballController {@RequestMapping(value="/football-page") private ModelAndView footballPage() { ModelAndView mav = new ModelAndView("football-form");List teams = new ArrayList(); teams.add("Bavaria Munich"); teams.add("Borussia Dortmund"); teams.add("Real Madrid"); teams.add("Barcelona");mav.addObject("teamsList", teams); mav.addObject("footballTeams", new FootballTeams());return mav; }@RequestMapping(value="/football-result") private ModelAndView processTeams(@ModelAttribute FootballTeams footballTeams) { ModelAndView mav = new ModelAndView("football-result"); mav.addObject("footballTeams", footballTeams); return mav; }}

請(qǐng)注意,在footballPage()方法中,我創(chuàng)建了球隊(duì)列表,然后將其添加到模型中。 第二種方法不包含任何特殊內(nèi)容,因此我不想考慮它。 現(xiàn)在,讓我們檢查一下視圖片段:

... <h1>Football page</h1> <form:form method="POST" commandname="footballTeams" action="football-result.html"> <table><tbody><tr><td> <ul> <form:checkboxes element="li" path="teamsList" items="${teamsList}"> </form:checkboxes></ul></td></tr><tr><td><input value="Submit" type="submit"></td></tr> </tbody></table> </form:form> ...

在這里,我需要暫停一下,并說(shuō)明發(fā)生了什么。 在“復(fù)選框”標(biāo)簽中,我指定了路徑屬性。 該屬性的值對(duì)應(yīng)于FootballTeams類的適當(dāng)字段。 items屬性包含列表的值,該值是我在控制器的footballPage()方法中生成的。
最后一個(gè)視圖:

... <h1>Football result page</h1> Selected teams: <br> <c:foreach var="team" items="${footballTeams.teamsList}"> ${team}<br> </c:foreach> ...

在這里,我僅介紹上一頁(yè)中選擇的項(xiàng)目。 請(qǐng)注意,復(fù)選框的標(biāo)簽和值與列表中指定的相同。 如果要為一個(gè)復(fù)選框使用不同的值和標(biāo)簽,則必須使用java.util.Map。

地圖和“復(fù)選框”標(biāo)簽

第二個(gè)示例將與地圖一起使用。 因此,如您所愿,我將展示如何為相同的復(fù)選框使用不同的值和標(biāo)簽。 本節(jié)的結(jié)構(gòu)與上一部分相同,所以讓我們開始吧!

域模型:

public class Tourism {private List countries;public List getCountries() { return countries; }public void setCountries(List countries) { this.countries = countries; }}

不要驚慌,您在課堂上沒(méi)有看到任何Map字段,稍后您將意識(shí)到這一點(diǎn)。

@Controller public class TourismController {@RequestMapping(value="/tourism-page") private ModelAndView tourismPage() { ModelAndView mav = new ModelAndView("tourism-form");Map countries = new HashMap(); countries.put("UKR", "Ukraine"); countries.put("ENG", "England"); countries.put("USA", "United States");mav.addObject("countriesMap", countries); mav.addObject("tourism", new Tourism());return mav; }@RequestMapping(value="/tourism-result") private ModelAndView processTourism(@ModelAttribute Tourism tourism) { ModelAndView mav = new ModelAndView("tourism-result"); mav.addObject("tourism", tourism); return mav; }}

此處,在tourismPage()方法中,地圖出現(xiàn)在場(chǎng)景中。

... <h1>Tourism page</h1> <form:form method="POST" commandname="tourism" action="tourism-result.html"> <table><tbody><tr><td> <ul> <form:checkboxes element="li" path="countries" items="${countriesMap}"> </form:checkboxes></ul></td></tr><tr><td><input value="Submit" type="submit"></td></tr> </tbody></table> </form:form> ...

Map的鍵將用作復(fù)選框的值,而Map的值將用作復(fù)選框的標(biāo)簽。

... <h1>Tourism result page</h1> Selected countries: <br> <c:foreach var="country" items="${tourism.countries}"> ${country}<br> </c:foreach> ...

現(xiàn)在該解釋一下,為什么“旅游”課程中沒(méi)有“地圖”字段。 如您所見(jiàn),結(jié)果頁(yè)面上僅顯示Map的鍵。 因此,鍵值對(duì)不會(huì)傳遞給模型。

摘要

在本教程中,您可以得出結(jié)論,“ checkboxes”標(biāo)記更適合使用。 Spring MVC是一個(gè)非常靈活的框架,它為某些任務(wù)提供了某些工具。 根據(jù)目標(biāo)使用地圖或列表。 您可以在GitHub上查看源代碼。

參考: Spring MVC:表單處理卷。 3 – Fruzenshtein的便箋博客中來(lái)自JCG合作伙伴 Alexey Zvolinskiy的復(fù)選框處理 。

翻譯自: https://www.javacodegeeks.com/2013/05/spring-mvc-form-handling-vol-3-checkboxes-processing.html

總結(jié)

以上是生活随笔為你收集整理的Spring MVC:表单处理卷。 3 –复选框处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。