在开发的时候突然遇到需要写个二级联动,而正好我用的是struts2.0,于是就写了一个。废话不多说,直接上代码。
首先,要在Controller中注册页面二级联动属性,写好get/set方法。在这里我拿 学科-章节-小节 来做练习。利用学科id来得到章节属性。
private List<Chapter> chapters; private Map<Integer,List<Unit>> unitMap; //省略get/set方法。。。。 public void loadDoubleSelect(){ chapters = chapterService.findBySubject(subjectId); unitMap = new LinkedHashMap<Integer, List<Unit>>(); if(chapters.size()>0){ for(Chapter chapter:chapters){ List<Unit> units = unitService.findByChapter(chapter.getId()); unitMap.put(chapter.getId(), units); } } }
其中chapters 是根据学科id获取该学科下的所有章节。unitMap是当前章节下所获取的小节集合,在这里利用键值对进行存贮。
Controller配置完成,那么进入jsp页面,如上代码所示,在这里进行了数据的准备,那么在获取的时候必须用该Controller所写的属性。
<style> .nobr br{display:none} </style> <div> <s:form method="post" action="/exercise_showList" name="serchForm"> <s:doubleselect list="chapters" listKey="id" listValue="title" formName="searchForm" headerKey="" headerValue="-请选择-" name="chapterId" cssStyle="width:120px;" doubleList="unitMap.get(top.id)" doubleName="unitId" doubleListKey="id" doubleListValue="title" doubleCssStyle="width:120px;"> </s:doubleselect> </s:form> </div>
上文中这个style样式是因为什么呢?因为struts2.0中默认样式为两个下拉框在一列上,一上一下。该样式就是解决这个问题的。这样就能获取到Controller的数据。
我来解释一下<s:doubleselect>中的属性。
tooltip指显示图标的显示文字
label 指生成组件前的标签文字
name 指第一个下拉框的表单name属性
list 指第一个下拉框的集合
listKey 指第一个下拉框的选项的键值 提交后天的值 --对应集合里单个对象里面的属性
listValue 指第一个下拉框中的选项显示值 --对应集合里单个对象里面的属
doubleList 指第二个下拉框要使用的集合
doubleName 指第二个下拉框的表单name属性
doubleListKey 指第二个下拉框中的选项中的键值 --对应集合里单个对象里面的属性
doubleListValue 指第二个下拉框中的选项显示值 --对应集合里单个对象里面的属性
在这里注意:formName则这里必须填写该form表单的name值,否则二级联动会失败。
在这里效果图如下所示:
相关推荐
在给定的“struts2二级联动下拉列表”项目中,开发者利用Struts2、Hibernate和Spring这三大核心技术,创建了一个功能,使得用户在网页上可以选择省份和城市,这两个下拉列表会进行联动,即选择省份后,城市下拉列表...
在本实例中,我们将探讨如何使用Struts2框架中的标签来实现二级联动,具体以省市联动为例。 首先,我们需要了解Struts2框架的基础架构。Struts2的核心是Action类,它负责处理用户的请求,并通过Result返回相应的...
supplyInfo_add.jsp最简单,就是通过一级触发实现二级联动;supplyInfo_update.jsp稍微难了点,不仅仅是一级触发实现二级联动,还有它是将数据库中相应的省份城市提取出来,将原有增加的省份城市提取给用户,供用户修改;...
在本文中,我们将深入探讨如何使用ExtJS 4和Struts2框架实现省市区三级联动的完整示例。这个示例适用于需要在Web应用程序中实现地理区域选择功能的情况,例如用户地址输入。以下是对该技术栈及其实现方法的详细说明...
在三级联动中,Struts2可能被用来接收并处理前端的Ajax请求,根据不同的选择更新后续下拉框的数据。 **Hibernate** 是一个对象关系映射(ORM)框架,它允许开发者用面向对象的方式来操作数据库。在这个项目中,...
三级联动是一种常见的功能需求,通常出现在下拉框的选择中,例如省份、城市、区县的关联选择,用户选择一个省份后,城市选项会动态更新,选择城市后,区县选项也会相应更新。这种功能的实现依赖于前端和后端的紧密...
Struts2是一个强大的MVC(Model-View-Controller)框架,用于构建企业级的Java Web应用程序。这篇博客“Struts2 ——2、各种Action写法和配置”着重讲解了在Struts2框架中如何创建和配置不同的Action,以便更好地...
在Struts2框架中,我们可以利用Ajax来实现二级联动效果,即在一个下拉框的选择改变时,通过Ajax请求动态地更新另一个下拉框的内容。 首先,我们需要了解Struts2的Action类,它是处理用户请求的核心。在实现二级联动...
这样,用户在第一级选择时,第二级联动选择框会根据用户的选择实时更新其内容,实现了联动效果。 具体步骤如下: 1. 用户在前端页面上操作第一级选择框。 2. jQuery监听到选择事件,通过Ajax向服务器发送请求。 3....
struts2验证+拦截器+国际化+下载excle文档+struts2二级联动+ongl表达试+ssh集成\部分代码, 项目下载、 部分代码 请看: http://blog.csdn.net/liangrui1988/article/details/9778787
本文将深入探讨Struts2标签的写法及其应用。 首先,Struts2的标签库分为核心标签库和OGNL标签库。核心标签库主要处理控制器和视图之间的交互,而OGNL标签库则提供了对Object-Graph Navigation Language (OGNL)...
在这个场景中,"jQuery + struts2 专业类别、专业名称 二级联动列表"是一个典型的前后端交互应用,它允许用户通过选择一级分类(专业类别)来动态加载二级分类(专业名称)。这种功能常见于教育、招聘等网站,帮助...
在提供的"Ajax2mApp"文件中,可能包含了实现Struts二级联动和MySQL连接池的具体代码,包括Struts配置文件、Action类、DAO(数据访问对象)层、数据库配置文件、以及前端的AJAX请求脚本等。这些代码展示了如何在实际...
在"js+servlet+struts 动态二级联动菜单"的实现中,我们看到涉及到三种关键的技术: 1. **JavaScript (JS)**:这是一种客户端的脚本语言,主要用于增强网页的交互性和动态性。在二级联动菜单中,JavaScript负责处理...
标题中的“省市联动jQuery+Struts2”是指在Web开发中使用jQuery库和Struts2框架实现的一个功能,即当用户选择一个省份时,相关的城市会动态地在下拉列表中加载出来,提供用户选择。这个功能在很多需要收集用户地址...
在Struts中,"二级联动"通常指的是在两个下拉列表之间建立关联,即在一个下拉列表的选择改变时,根据所选值动态地更新第二个下拉列表的内容。这种功能在很多场景下都非常实用,比如地区选择,省市区的三级联动,或者...
Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截器是可插拔的,拦截器是AOP的一种实现.
在IT行业中,"三级联动...这个实例通过整合Struts2的控制层和Hibernate3的数据访问层,实现了高效、灵活的三级联动效果。理解并掌握这一实例,对于提升Java Web开发技能,尤其是处理动态交互和数据绑定,具有重要意义。
这个“struts2入门级的例子”是一个非常适合初学者的资源,它将引导你了解Struts2的基础知识和核心概念。通过实践这些例子,你可以快速掌握Struts2的使用方法,从而提高你的Web开发技能。 1. **配置环境**: 首先,...
总的来说,结合Struts2、jQuery、ajax和MySQL,我们可以实现高效、流畅的省市二级联动效果,提供用户友好的Web界面。这四个技术的协同工作展示了现代Web开发中前后端交互的基本模式,对于任何想要学习Web开发的人来...