`
ligb2006
  • 浏览: 33281 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

关于js的一个低不低,高不高的应用

阅读更多
大家知道,后台程序通常情况下无法与js进行交互,而我们一般通过组成XML的形式来传递我们想要的数据,或者说用ajax,dwr等,这里只是介绍其中的一种方法,可能不是最好的,但至少能很快的解决问题:
1.所需要取到的数据结构形为:
var object={
"strArr1":[{
"brandId":"1"},{"brandName":"三星"},{"childs":[{"phoneType":"N870"},{}]
}],
"strArr2":[{},{}]
}
2.明白了我们想要的数据结构,之后我们将在Action中对所要的数据进行拼凑,在action中我们可以建立一个Map对象:Map<Brand,List<ClientSoft>> map=new HashMap<Brand,List<ClientSoft>>
拼凑:
public String execute() throws Exception {
		Map<Brand, List<ClientSoft>> clientSoftMap = clientSoftManager
				.getClientSoftInfo();
		Iterator it = clientSoftMap.entrySet().iterator();
		StringBuffer sb = new StringBuffer();
		sb.append("var str={\"strArr\":[");
		while (it.hasNext()) {
			Map.Entry entry = (Map.Entry) it.next();
			Object key = entry.getKey();
			/* 对键进行处理 */
			Brand brand = (Brand) key;
			Long brandId = brand.getBrandId();
			String brandName = brand.getBrandName();
			String brandUrl = brand.getImageUrl();

			Object value = entry.getValue();
			/* 对值进行处理:子型号,版本号,手机图片,标识软件版本号,软件下载地址,大小,版本,Release号,软件描述,下载次数 */
			List<ClientSoft> liCs = (List<ClientSoft>) value;

			System.out.println("键:" + key + ";" + "值:" + value);
			
			sb.append("{");
			sb.append("\"brandName\":" + "\"" +brandName+"\"");
			sb.append(",");
			sb.append("\"brandId\":" +"\""+ brandId + "\"");
			sb.append(",");
			sb.append("\"brandUrl\":" + "\"" + brandUrl +"\"");
			sb.append(",");
			sb.append("\"childs\":");
			sb.append("[");
			if (liCs.size() != 0) {
				for (ClientSoft clientSoft : liCs) {
					sb.append("{");
					sb.append("\"phoneType\":" + "\""
							+ clientSoft.getPhoneType() + "\"");
					sb.append(",");
					sb.append("\"ua\":" + "\"" + clientSoft.getUa() + "\"");
					sb.append(",");
					sb.append("\"imageUrl\":" + "\"" + clientSoft.getImageUrl()
							+ "\"");
					sb.append(",");
					sb.append("\"clientUa\":" + "\"" + clientSoft.getClientUa()
							+ "\"");
					sb.append(",");
					sb.append("\"URL\":" + "\"" + clientSoft.getUrl() + "\"");
					sb.append(",");
					sb.append("\"softSize\":" + "\"" + clientSoft.getSoftSize()
							+ "\"");
					sb.append(",");
					sb.append("\"version\":" + "\"" + clientSoft.getVersion()
							+ "\"");
					sb.append(",");
					sb.append("\"release\":" + "\"" + clientSoft.getRelease()
							+ "\"");
					sb.append(",");
					sb.append("\"description\":" + "\""
							+ clientSoft.getDescription() + "\"");
					sb.append(",");
					sb.append("\"createDate\":" + "\""
							+ clientSoft.getCreateDate() + "\"");
					sb.append(",");
					sb.append("\"downloadCount\":" + "\""
							+ clientSoft.getDownloadCount() + "\"");
					sb.append("},");
				}
				sb = new StringBuffer(sb.toString().substring(0,
						sb.length() - 1));
			}
			sb.append("]");
			sb.append("},");
		}
		sb=new StringBuffer(sb.substring(0, sb.length() - 1));
		sb.append("]}");
		String str=sb.toString();
		ServletActionContext.getRequest().setAttribute("str",
				str);
		return SUCCESS;
	}
4.到页面执行
function initBrand(){
	var strTmp='${requestScope.str}';
	eval(strTmp);
	phoneStr=str;
	for(var o = 0; o < str.strArr.length; o++){
		var op = document.createElement("OPTION");
		op.text=str.strArr[o].brandName;
		op.value=o;
		document.getElementById("vendor").options.add(op);
		}
	${"brandSelId"}.value=0;
}
0
0
分享到:
评论

相关推荐

    JavaScript_事件驱动应用程序的低代码编程.zip

    总结来说,"JavaScript_事件驱动应用程序的低代码编程.zip"文件包可能包含了一个介绍如何使用JavaScript的事件驱动特性和Node-RED低代码平台来构建应用程序的教程或实例。通过学习这个主题,开发者可以更高效地创建...

    Node.js-git-js一个轻量级接口用于在任何node.js应用程序中运行git命令

    Git-js是针对Node.js环境设计的一个轻量级库,它提供了一个简单易用的接口,允许开发者在他们的Node.js应用中直接调用Git命令,无需离开JavaScript的舒适区。 ### Git-js核心特性 1. **轻量级**:Git-js的核心设计...

    Node.js-deThread一个应用程序库支持在浏览器中利用JavaScript进行分布式计算

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它让开发者能够在服务器端使用 JavaScript 进行编程,极大地推动了前端与后端技术的融合。deThread 库是 Node.js 生态系统中的一员,专为实现浏览器中的...

    Node.js-Kefir.js-JavaScript的响应式编程库专注于高性能和低内存使用

    总之,Kefir.js是Node.js开发中一个强大的工具,它利用响应式编程和函数式编程的理念,提供了高性能、低内存占用的解决方案。通过深入学习和使用Kefir.js,开发者可以构建出更健壮、更灵活的Node.js应用。

    LLRT低延迟运行时是一个实验性的轻量级JavaScript运行时,旨在满足对快速高效的无服务器应用程序日益增长的需求.zip

    总之,LLRT低延迟运行时为JavaScript无服务器应用提供了一个颇具潜力的高性能解决方案,有望推动JavaScript在高并发、低延迟场景下的应用发展。随着技术的不断成熟,我们期待看到更多创新的轻量级运行时解决方案出现...

    cookiejs一个用于处理浏览器cookie的简单轻量级JavaScriptAPI

    这个库的主要优点是它的简洁性和低资源占用,使得它成为处理cookie的理想选择,尤其适用于那些对性能和加载速度有较高要求的项目。在3kb(未压缩)的大小下,gzip压缩后更是减小到仅1.73kb,这意味着它可以在不影响...

    node-js安装包

    Node.js是一种开源、跨平台的JavaScript运行环境,它允许开发者在服务器端运行JavaScript代码,极大地扩展了JavaScript的应用领域。Node.js基于Google Chrome的V8引擎,具有高效、高性能的特点,尤其适合开发网络...

    demo是一个使用JavaScript和MQTT实现的一个简单的物联网应用

    本文将探讨一个名为“demo”的示例项目,它利用这两种技术实现了一个简单的物联网应用。 **一、JavaScript在物联网中的应用** JavaScript,通常用于构建Web前端交互,但在物联网领域,它也能通过Node.js在服务器端...

    Node.js-FlexSearch.js-适用于Node.js的高性能FlexSearchServer(集群)

    在标签中,"Node.js开发-其它杂项"指出这是一项与Node.js开发相关的技术,尽管它可能不属于常规的类别,但它是Node.js生态系统中的一个重要补充,对于那些需要强大搜索功能的项目来说,FlexSearch.js是一个有价值的...

    turbo-net一个Node.js的性能和低内存占用TCP库

    Turbo-Net是一个针对Node.js平台优化的高性能、低内存占用的TCP库,它专为处理大量并发连接和高效数据传输而设计。这个库的核心特点在于其对性能的极致追求和对内存管理的精细控制,使得在高负载环境中也能保持稳定...

    cpp-基于GraalVM构建的一个JavaScript编程语言的高性能实现

    GraalVM是Oracle Labs推出的一款开源虚拟机,它集成了JVM(Java虚拟机)和JavaScript引擎,同时还提供了一个完整的运行时环境,用于运行高性能的多语言应用。GraalVM的核心特性在于其编译器——Graal编译器,它能够...

    一个低代码引擎,基于这个引擎可以构建或者开发出不同领域的低代码平台.zip

    Vue.js,作为这个压缩包中的标签,是一个流行的前端JavaScript框架,常用于构建用户界面。Vue的特点包括其轻量级、易学习、可扩展性强以及良好的社区支持。结合低代码引擎,Vue.js可以提供一套完整的前后端开发工具...

    速度极快的单页应用程序引擎Senna.js.zip

     Senna.js 是一个速度超快的单页应用程序引擎,提供了几个低级别的 API,可以帮助你打造现代化的基于 Web 的应用程序。更重要的是,搜索引擎蜘蛛应该能够索引相同的内容。 通过使用 HTML5 History API,我们可以...

    nwjs最低兼容xp版本

    对于Windows XP用户来说,选择一个兼容的nw.js版本至关重要,因为更高版本可能不再支持这个老化的操作系统。nwjs-sdk-v0.14.7-win-ia32可能就是开发者能够在XP上运行和调试应用的最佳选择。不过,需要注意的是,由于...

    pdf.js v2.13.94-beta 支持chrome 80以下版本

    PDF.js是Mozilla开发的一个开源项目,它允许在Web浏览器中以纯JavaScript实现PDF文档的查看和渲染。这个项目的目标是提供一个与浏览器无关、高质量的PDF阅读体验。在这个特定的版本,v2.13.94-beta,特别强调了对...

    browser.min.js+polyfill.js

    例如,如果一个老版本的浏览器不支持Promise,polyfill.js可以包含一个Promise的实现,让开发者可以在旧浏览器上使用Promise。这种填充方式使得代码能在不支持新标准的环境中运行,而不必完全放弃现代化的编程实践。...

    高性能JavaScript

    《高性能JavaScript》是一本专为前端开发人员设计的深度学习指南,它涵盖了JavaScript语言的核心特性以及如何优化这些特性以实现高性能的Web应用。这本书详细解析了JavaScript在实际开发中的各种性能问题,并提供了...

    Vue.js前端 JavaScript 框架

    Vue.js 是一款流行的前端 JavaScript 框架,它是一款轻量级、高性能的框架,用于构建交互式的用户界面和单页应用程序。Vue.js 的特点包括: 响应式数据绑定:Vue.js 实现了数据的双向绑定,当数据发生变化时,视图...

    一个基于JavaScript、WebAssembly、WebGPU的国产自研3D引擎和元宇宙应用开发平台

    一个基于JavaScript、WebAssembly、WebGPU的国产自研3D引擎和元宇宙应用开发平台。一个以WebAssembly内核为支撑的WebGPU渲染引擎;一个支持在VR模式下使用、支持动态可交互图表ECharts的UI框架;一个用于着色器、...

    一款高效的Vue低代码表单,可视化设计,一键生成源码

    标题中的“一款高效的Vue低代码表单,可视化设计,一键生成源码”揭示了这是一个基于Vue.js框架的低代码开发工具,特别强调了其高效性、可视化设计以及源码自动生成的功能。这样的工具大大简化了Web应用开发过程,...

Global site tag (gtag.js) - Google Analytics