### Dojo与JSON应用详解 #### 一、概述 Dojo是一个用JavaScript语言实现的开源DHTML工具包,它提供了一系列强大的功能来帮助开发者构建高度交互式的Web应用程序。随着Web技术的发展,前后端分离成为了一种趋势,而Dojo正是在这种背景下得到了广泛的应用。 #### 二、JSON概述 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON基于JavaScript的一个子集,可以将JavaScript对象中表示的一组数据转换为字符串形式。 - **对象**: 是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’对”之间使用“,”(逗号)分隔。例如: ```json {"firstName":"Jason","lastName":"Hunter","email":"bbbb"} ``` - **数组**: 是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。例如: ```json ["1","2","3"] ``` #### 三、应用 在使用Dojo处理JSON数据时,通常会涉及以下几个步骤: 1. **前端页面引入Dojo工具包**:首先需要确保前端页面中已经正确引入了Dojo库,这通常是通过在HTML文档中添加Dojo的引用链接完成的。 2. **配置文件中增加JSON支持**:在项目配置文件(如XML配置文件)中增加对JSON的支持,以便能够正确地解析并显示来自后端的JSON数据。例如,在Struts2项目中,可以在`struts.xml`文件中增加以下配置: ```xml <result name="success" type="json"> <param name="root">returnMap</param> </result> ``` 3. **后端Action返回Map数据**:后端逻辑处理完毕后,通过返回一个Java Map类型的对象来构造JSON数据。这样做的好处在于可以直接将Java对象转换为JSON格式,便于前端解析。 #### 四、Taglib的定义与使用 为了更好地解析和展示JSON数据,济南矩阵软件工程公司开发了一套自定义的Taglib(标签库),这些标签可以帮助开发者更方便地操作JSON数据。下面详细介绍这些标签的使用方法: - **<matrix:div>** - **参数**: `id`。必须为JSON数据中的键,用于锁定JSON数据中的某个键值对。 - **使用**: 其他标签必须嵌套在此标签内使用。 - **<matrix:object>** - **参数**: `id`。必须为JSON数据中的键,并且此键对应的值为Object。 - **使用**: 用于锁定JSON数据中的某个键值对,嵌套在<matrix:div>中使用。 - **<matrix:array>** - **参数**: `id`。必须为JSON数据中的键,并且此键对应的值为Array。 - **使用**: 用于锁定JSON数据中的某个键值对,如果Array没有键,则可以通过设置横向的id(如etr0、etr1等)和纵向的id(如etd0、etd1等)来访问。 - **使用**: 嵌套在<matrix:div>中使用。 - **<matrix:name/>** - **作用**: 把JSON数据中锁定的键显示到页面中。 - **使用**: 嵌套在<matrix:div>、<matrix:object>、<matrix:array>中使用。 - **<matrix:value/>** - **作用**: 把JSON数据中锁定的值显示到页面中。 - **使用**: 嵌套在<matrix:div>、<matrix:object>、<matrix:array>中使用。 - **<matrix:index/>** - **作用**: 把JSON数据中锁定的键值对在此JSON数据中的顺序显示到页面中。 - **使用**: 嵌套在<matrix:div>、<matrix:object>、<matrix:array>中使用。 #### 五、Taglib的使用举例 ##### 例一 - **后台设置**:返回一个包含程序员列表的JSON对象。 - **json数据**: ```json { "programmers": [ {"firstName":"Brett","lastName":"McLaughlin","email":"aaaa"}, {"firstName":"Jason","lastName":"Hunter","email":"bbbb"}, {"firstName":"Elliotte","lastName":"Harold","email":"cccc"} ] } ``` - **前台设置**:使用自定义的标签库展示程序员列表。 - **页面展示**:通过<matrix:div>、<matrix:object>等标签展示程序员的姓名和邮箱。 ##### 例二 - **后台设置**:返回一个包含用户信息的JSON对象。 - **json数据**:包含用户的个人信息。 - **前台设置**:使用自定义标签库展示用户信息。 - **页面展示**:通过<matrix:div>等标签展示用户的详细信息。 ##### 例三 - **后台设置**:返回一个包含表单数据的JSON对象。 - **前台设置**:使用自定义标签库处理表单提交后的数据。 - **页面展示**:通过<matrix:submit>等标签处理表单提交并展示处理结果。 通过以上介绍,我们可以看到Dojo结合自定义的Taglib在处理JSON数据方面提供了非常便捷的方法。开发者可以根据实际需求灵活运用这些标签,实现高效的数据展示和处理。
剩余17页未读,继续阅读
- 粉丝: 2
- 资源: 17
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 技术资料分享ATK-HC05-V11-SCH很好的技术资料.zip
- C语言《基于51单片机的智能循迹小车,包含黑线循迹、超声波避障、红外线遥控3大功能》+项目源码+文档说明+智能小车总结报告
- 网页开发课程大作业-以手机为主体的信息查询平台.zip,类似手机信息平台有各种手机信息,含登录,导航栏,轮播图,动态特效,搜索栏
- (源码)基于ParticleTracker框架的传感器浮标系统.zip
- 基于STM32CUBEMX驱动TOF模块VL53l0x(1)-单模块距离获取的最佳实践
- 020-基于springboot+vue的电影院购票系统(源码+数据库脚本+文档说明+LW)
- (源码)基于SpringBoot和Vue的批发零售管理系统.zip
- (源码)基于Arduino平台的NanoLambdaNSP32光谱传感器管理系统.zip
- C#医院药库进销存管理系统源码 医药药品库存管理系统源码数据库 SQL2012源码类型 WebForm
- 精选微信小程序源码:3C手机商城小程序(含源码+源码导入视频教程&文档教程,亲测可用)