那个合作网站做360推广比较好,网站安全狗,小规模公司做网站成本是什么,免费网站建设ppt我已经发布了有关使用Spring MVC标签库处理checkbox标签的帖子。 现在#xff0c;我要开发此主题并继续使用“复选框”标签。 它并不难#xff0c;但是在某些情况下#xff0c;您最好使用它。 在本文中#xff0c;我将结合java.util.List和java.util.Map提供Springcheckbox… 我已经发布了有关使用Spring MVC标签库处理checkbox标签的帖子。 现在我要开发此主题并继续使用“复选框”标签。 它并不难但是在某些情况下您最好使用它。 在本文中我将结合java.util.List和java.util.Map提供Springcheckboxes标记的示例因此准备研究两个示例。 在开始演示示例之前我想谈谈“复选框”标签的用途。 那么什么时候应该使用它呢 如果要在运行时中生成复选框答案很明显 您必须使用“复选框”标签。 这将帮助您避免JSP中的硬编码值。 checkboxes标签可以与数组和java.util.Collection一起使用。 进一步我将研究List和Map的两种情况。 列表和“复选框”标签 第一个示例将与列表一起使用。 与上一篇文章一样我必须创建一个POJO并使用适当的getter和setter方法在其中声明所需的List属性。 public class FootballTeams {private List teamsList;public List getTeamsList() {
return teamsList;
}public void setTeamsList(List teamsList) {
this.teamsList teamsList;
}} 创建域模型后我应该使用两种方法开发控制器-一种用于在带有复选框的页面上导航另一种用于处理复选框。 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;
}} 请注意在footballPage方法中我创建了球队列表然后将其添加到模型中。 第二种方法不包含任何特殊内容因此我不想考虑它。 现在让我们检查一下视图片段 ...
h1Football page/h1
form:form methodPOST commandnamefootballTeams actionfootball-result.html
tabletbodytrtd
ul
form:checkboxes elementli pathteamsList items${teamsList}
/form:checkboxes/ul/td/trtrtdinput valueSubmit typesubmit/td/tr
/tbody/table
/form:form
... 在这里我需要暂停一下并说明发生了什么。 在“复选框”标签中我指定了路径属性。 该属性的值对应于FootballTeams类的适当字段。 items属性包含列表的值该值是我在控制器的footballPage方法中生成的。 最后一个视图 ...
h1Football result page/h1
Selected teams:
br
c:foreach varteam items${footballTeams.teamsList}
${team}br
/c:foreach
... 在这里我仅介绍上一页中选择的项目。 请注意复选框的标签和值与列表中指定的相同。 如果要为一个复选框使用不同的值和标签则必须使用java.util.Map。 地图和“复选框”标签 第二个示例将与地图一起使用。 因此如您所愿我将展示如何为相同的复选框使用不同的值和标签。 本节的结构与上一部分相同所以让我们开始吧 域模型 public class Tourism {private List countries;public List getCountries() {
return countries;
}public void setCountries(List countries) {
this.countries countries;
}} 不要惊慌您在课堂上没有看到任何Map字段稍后您将意识到这一点。 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方法中地图出现在场景中。 ...
h1Tourism page/h1
form:form methodPOST commandnametourism actiontourism-result.html
tabletbodytrtd
ul
form:checkboxes elementli pathcountries items${countriesMap}
/form:checkboxes/ul/td/trtrtdinput valueSubmit typesubmit/td/tr
/tbody/table
/form:form
... Map的键将用作复选框的值而Map的值将用作复选框的标签。 ...
h1Tourism result page/h1
Selected countries:
br
c:foreach varcountry items${tourism.countries}
${country}br
/c:foreach
... 现在该解释一下为什么“旅游”课程中没有“地图”字段。 如您所见结果页面上仅显示Map的键。 因此键值对不会传递给模型。 摘要 在本教程中您可以得出结论“ checkboxes”标记更适合使用。 Spring MVC是一个非常灵活的框架它为某些任务提供了某些工具。 根据目标使用地图或列表。 您可以在GitHub上查看源代码。 参考 Spring MVC表单处理卷。 3 – Fruzenshtein的便笺博客中来自JCG合作伙伴 Alexey Zvolinskiy的复选框处理 。 翻译自: https://www.javacodegeeks.com/2013/05/spring-mvc-form-handling-vol-3-checkboxes-processing.html