前台下拉框所在form表单:
<s:form name="search_formKeyString" action="selectCategory" method="post"> <table> <tr> <td> <s:select name="userSelect.classify.id" list="#request['categoryList']" theme="simple" listKey="id" listValue="name" headerKey="0" headerValue="--请选择类别--" onchange="searSelectChange(this);"></s:select> </td> <td> <s:select name="userSelect.subClass.id" list="#request['categSubList']" theme="simple" listKey="id" listValue="name"></s:select> </td> </tr> </table> <s:textfield name="userSelect.keyString" id="search_inputKeyString" value="请输入关键字" onclick="search_resetKeyString();" onblur="search_resetKeyString();"></s:textfield> <input type="button" id="search_butSubmit" value="查询" onclick="searButSubmitClick(this.form);"></input> </s:form>
点击查询按钮触发的javascript函数,使用jQuery的ajax函数:
$.ajax( { url : "slctSubCategory.action", //数据发送方式 type : "post", //接收数据格式 dataType : "json", //要传递的数据 data : param, //回调函数,接收服务器端返回给客户端的值,即result值 success : function (data) { if (data != null) { $.each(data, function (i, item) { // alert(item.id + "," + item.preId + "," + item.name); var option = "<option value='" + item.id + "'>" + item.name + "</option>"; select.append(option); // alert(item.name); }); } else { var option = "<option value='0'>该分类无子选项</option>"; select.append(option); } } } );
后台struts2.xml配置,extends要写成json-default,result的type要写成json:
<package name="myworld" extends="json-default"> <action name="slctSubCategory" class="action.searchCategory.SearchResultAction" method="getSubCategoryList"> <result name="success" type="json"> <param name="root">subCateList</param> </result> </action> </package>
Action中的getSubCategoryList方法:
public String getSubCategoryList() throws Exception { int classify = userSelect.getClassify().getId(); subCateList = new ArrayList<Category>(); switch (classify) { case 1 : { subCateList.add(new Category(5, 1, "账号密码")); break; } case 2 : { subCateList.add(new Category(6, 2, "文章")); break; } case 3 : { subCateList.add(new Category(7, 3, "网页")); break; } case 4 : { subCateList.add(new Category(8, 4, "帖子")); break; } } return SUCCESS; }
查询结果返回给客户端然后调用ajax自动执行success的函数。遍历List。
如果后台返回的是一个Map,则success的函数可写成:
success : function (data) { if (data != null) { $.each(data, function (key, value) { switch (key) { case "1" : { break; } case "2" : { break; } default : { } } }); } else { var option = "<option value='0'>该分类无子选项</option>"; select.append(option); } }
相关推荐
在Struts2框架中,我们可以利用Ajax来实现二级联动效果,即在一个下拉框的选择改变时,通过Ajax请求动态地更新另一个下拉框的内容。 首先,我们需要了解Struts2的Action类,它是处理用户请求的核心。在实现二级联动...
在本项目中,"json实现三级联动下拉框---struts版(数据来自mysql数据库)"是利用JSON来处理省市县三级联动效果的示例,它通过Struts框架与MySQL数据库进行交互,动态地从数据库获取数据并更新到前端页面的下拉框中...
“ajax,struts2,json实现省市区三级联动源码含全国省市区数据库”这一标题揭示了这个压缩包包含的是一项使用AJAX、Struts2和JSON技术来实现的省市区三级联动功能的源代码。这项技术常用于web应用中,允许用户在选择...
在本文中,我们将探讨如何使用SSH1框架与jQuery的AJAX功能来处理JSON二维数组,特别是在实现菜单联动下拉框的场景中。SSH1(Spring、Struts、Hibernate)是Java开发中的一个流行MVC框架组合,而jQuery的AJAX功能则...
在Struts框架中实现下拉框的多级联动是一项常见的需求,比如在地址选择时,可以选择国家、省份、城市等,每一级的选择都会影响下一级的选项。 在Struts框架中,实现下拉框的联动通常涉及到以下几个关键知识点: 1....
### 使用Ajax+JSON实现多级联动菜单的知识点详解 #### 一、背景介绍与概念解析 随着互联网技术的发展,用户对交互式应用的需求日益增长。RIA(Rich Internet Applications)概念的提出更是加速了这一趋势。其中,...
5. 整合jQuery与Struts的AJAX功能,使用Ajax-Struts2插件返回JSON或XML响应。 6. 实现交互式Web应用,如AJAX分页、下拉联动、实时搜索等。 理解并掌握这些知识点,开发者可以创建高效、响应式的Web应用,提升用户...
总的来说,这个"web小项目:省市区三级联动(struts2+json)"是一个典型的前后端交互案例,展示了如何利用Struts2处理业务逻辑,通过JSON进行数据交换,以及JavaScript如何动态更新页面内容,实现用户友好的交互体验...
在"struts2+json省市区级联显示"这个项目中,我们看到主要功能是通过Struts2框架与JSON数据配合,实现在用户选择省份时,无需刷新页面就能动态加载并显示对应的市、区级联列表。这种级联选择通常用于地址填写或者...
在这个小demo中,我们将探讨如何使用Ajax和jQuery技术结合Struts2框架来实现这一功能,并通过JDBC进行数据的增删改查。 首先,我们来看一下`Ajax`(Asynchronous JavaScript and XML)的核心概念。Ajax并非一种单一...
实现三级联动的关键在于,我们需要在用户选择第一个下拉框后动态加载第二个下拉框的数据,然后在第二个下拉框选择后更新第三个下拉框。这通常涉及到Ajax异步请求,利用Struts2的拦截器(Interceptor)和...
标题 "省市级联(采用技术==Struts+Hibernate+Spring+Jquery+Json)" 描述了一个基于Web的开发项目,该项目使用了多种技术来实现省市级联的动态下拉选择功能。在这个系统中,用户在选择省份后,城市列表会根据所选...
在Struts2中实现级联联动菜单,我们需要以下几个关键步骤: 1. **模型设计**: - 首先,定义菜单的数据模型,通常包括ID、名称和父ID等字段。这些数据可能存储在数据库中,通过服务层接口获取。 - 创建一个实体类...
利用JavaScript或jQuery监听第一个下拉框的`onChange`事件,当选项改变时发送异步请求(AJAX)到服务器,获取新的级联数据,并更新第二个下拉框。 6. **异步响应**:Action类需要处理AJAX请求,根据请求参数(如...
总结,这个"AJAX省级二级连动例子"是一个典型的前端与后端交互的应用场景,它展示了如何通过AJAX、JavaScript、XML以及JAVA技术实现动态下拉框的联动效果,为用户提供流畅的交互体验。理解并掌握这些技术,对于提升...
7. **Ajax技术**:为了实现动态加载子级选项,通常会结合使用Ajax技术,比如使用jQuery库发送异步请求,更新第二个下拉框的内容。 8. **JSON数据交换格式**:在Ajax请求中,服务器端返回的数据通常以JSON格式,因为...
- 下拉框联动:在一个下拉框的选择改变时,使用AJAX动态更新另一个下拉框的选项,这在处理关联数据时非常有用,如选择省份后自动填充城市列表。 - 实时验证:在用户输入数据时,使用AJAX即时检查输入的有效性,...
在这个项目中,Ajax被用来实现二级联动下拉框的级联选择。用户在一级下拉框选择后,通过Ajax向服务器发送请求,服务器根据请求返回相应的二级选项,再动态更新到二级下拉框中,提高用户体验。这通常涉及jQuery库或者...
总结,本培训内容主要讲解了如何通过JavaScript的AJAX技术,结合Struts2框架实现省份-城市-区域的三级联动,以及如何返回和处理JSON数据。虽然没有直接涉及EasyUI组件,但可以进一步学习如何利用EasyUI的组件优化这...
这通常涉及到JavaScript(如jQuery)与服务器端的Struts2 Action进行JSON通信。 最后,时间显示功能可能涉及到了日期和时间的格式化。在Java中,我们可以使用`java.time`包或者旧的`java.util.Date`和`...