现在通过json和gson来实现完成一个级联下拉列表框

2024-05-29 10:32

本文主要是介绍现在通过json和gson来实现完成一个级联下拉列表框,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

现在通过json和gson来实现完成一个级联下拉列表框(例如:省市联动)

1、前台jsp页面:

<select name="address.upLeverId" id="Townside1"><span style="white-space:pre">	</span><option value="-1">请选择</option><s:iterator value="#request.addresses" id="area"><option value="${id}" >${addressName}</option></s:iterator></select>  <select name="address.id" id="thecountrysides1"></select>
2、前台js实现:

<script type="text/javascript" src="<%=path%>/js/jquery-1.9.1.min.js"> </script><pre name="code" class="java"><script type="text/javascript" >
$(document).ready(function(){/*** 选择区域*/$("#Townside1").change(function(){var $countrysides = $("#thecountrysides1");var $this = $(this);$.ajax( {type : "POST",url: "Commodity_getcountrysides.do",data:"address.id="+$this.val(),dataType : "json",contentType : "application/x-www-form-urlencoded ; charset=UTF-8",// 解决传递中文乱码的问题success : function(msg) {$countrysides.empty();$countrysides.append("<option selected='selected' value='-1'>请选择</option>");if(msg.status == 1){//"全部"的"value"属性值应为"",与js校验相对应$.each(msg.countrysides,function(index,item){$("<option>",{"value":item.id,"text":item.addressName}).appendTo($countrysides);});}}});});});
</script>

 

3、后台java实现代码:

public void getcountrysides(){try {JSONObject jsonObject = new JSONObject();Gson gson = new Gson();if(null !=address && null!=address.getId()){//查询地区List<DAddress> addresses= addressService.query(address.getId());(这个是根据前台传来的第一级地区来获取它下一级的数据)//返回浏览器if(null !=addresses && !addresses.isEmpty()){System.out.println("gson.toJson(addresses:"+gson.toJson(addresses));(通过这个方式可以看出集合数据,这个也是gson的一大优势)jsonObject.accumulate("countrysides", gson.toJson(addresses));jsonObject.accumulate(RETRUEN_STATUS, SUCCESS_STATUS);}else{jsonObject.accumulate(RETRUEN_STATUS, ERROR_STATUS);}}else{jsonObject.accumulate(RETRUEN_STATUS, ERROR_STATUS);}System.out.println("jsonObject.toString():"+jsonObject.toString());outPrint(jsonObject.toString());(最钟还是要传输json格式数据,前台可以很方便的通过msg获取数据)} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}}

PS:json、gson 两者的区别和联系

1、 json是一种数据格式,便于数据传输、存储、交换
 gson是一种组件库,可以把java对象数据转换成json数据格式

 Gson可以直接转化成String[]数组,同时转化OperConditions时也比json-lib简单。

2、GSON简单处理JSON
json格式经常需要用到,google提供了一个处理json的项目:GSON,能很方便的处理转换java对象和JSON表达。他不需要使用annotation,也不需要对象的源代码就能使用。
以字符串为例介绍:
(1)构造json 字符串
例如 要传送json格式的字符串

String appID = req.getParameter("appID");
String userID = req.getParameter("userID");
Map map = new HashMap();
map.put("appID", appID);
map.put("userID", userID);
Gson gson = new Gson();
String state = gson.toJson(map);
(2)解析json字符串
JsonParser jsonparer = new JsonParser();//初始化解析json格式的对象
String state = req.getParameter("state");
String appID = jsonparer.parse(state).getAsJsonObject().get("appID").getAsString();
String userID = jsonparer.parse(state).getAsJsonObject().get("userID").getAsString();


这篇关于现在通过json和gson来实现完成一个级联下拉列表框的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1013419

相关文章

SpringBoot实现文件记录日志及日志文件自动归档和压缩

《SpringBoot实现文件记录日志及日志文件自动归档和压缩》Logback是Java日志框架,通过Logger收集日志并经Appender输出至控制台、文件等,SpringBoot配置logbac... 目录1、什么是Logback2、SpringBoot实现文件记录日志,日志文件自动归档和压缩2.1、

Python实现pdf电子发票信息提取到excel表格

《Python实现pdf电子发票信息提取到excel表格》这篇文章主要为大家详细介绍了如何使用Python实现pdf电子发票信息提取并保存到excel表格,文中的示例代码讲解详细,感兴趣的小伙伴可以跟... 目录应用场景详细代码步骤总结优化应用场景电子发票信息提取系统主要应用于以下场景:企业财务部门:需

基于Python实现智能天气提醒助手

《基于Python实现智能天气提醒助手》这篇文章主要来和大家分享一个实用的Python天气提醒助手开发方案,这个工具可以方便地集成到青龙面板或其他调度框架中使用,有需要的小伙伴可以参考一下... 目录项目概述核心功能技术实现1. 天气API集成2. AI建议生成3. 消息推送环境配置使用方法完整代码项目特点

spring-gateway filters添加自定义过滤器实现流程分析(可插拔)

《spring-gatewayfilters添加自定义过滤器实现流程分析(可插拔)》:本文主要介绍spring-gatewayfilters添加自定义过滤器实现流程分析(可插拔),本文通过实例图... 目录需求背景需求拆解设计流程及作用域逻辑处理代码逻辑需求背景公司要求,通过公司网络代理访问的请求需要做请

使用Python获取JS加载的数据的多种实现方法

《使用Python获取JS加载的数据的多种实现方法》在当今的互联网时代,网页数据的动态加载已经成为一种常见的技术手段,许多现代网站通过JavaScript(JS)动态加载内容,这使得传统的静态网页爬取... 目录引言一、动态 网页与js加载数据的原理二、python爬取JS加载数据的方法(一)分析网络请求1

Spring Security介绍及配置实现代码

《SpringSecurity介绍及配置实现代码》SpringSecurity是一个功能强大的Java安全框架,它提供了全面的安全认证(Authentication)和授权(Authorizatio... 目录简介Spring Security配置配置实现代码简介Spring Security是一个功能强

SpringCloud使用Nacos 配置中心实现配置自动刷新功能使用

《SpringCloud使用Nacos配置中心实现配置自动刷新功能使用》SpringCloud项目中使用Nacos作为配置中心可以方便开发及运维人员随时查看配置信息,及配置共享,并且Nacos支持配... 目录前言一、Nacos中集中配置方式?二、使用步骤1.使用$Value 注解2.使用@Configur

Python+PyQt5实现MySQL数据库备份神器

《Python+PyQt5实现MySQL数据库备份神器》在数据库管理工作中,定期备份是确保数据安全的重要措施,本文将介绍如何使用Python+PyQt5开发一个高颜值,多功能的MySQL数据库备份工具... 目录概述功能特性核心功能矩阵特色功能界面展示主界面设计动态效果演示使用教程环境准备操作流程代码深度解

golang float和科学计数法转字符串的实现方式

《golangfloat和科学计数法转字符串的实现方式》:本文主要介绍golangfloat和科学计数法转字符串的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望... 目录golang float和科学计数法转字符串需要对float转字符串做处理总结golang float

linux lvm快照的正确mount挂载实现方式

《linuxlvm快照的正确mount挂载实现方式》:本文主要介绍linuxlvm快照的正确mount挂载实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux lvm快照的正确mount挂载1. 检查快照是否正确创建www.chinasem.cn2.