前天刚刚写的一篇关于《实例解析java + ajax(jQuery) + json工作过程(登录)》的文章引起了网友们的关注和好评,
自从本站的账务管理系统(个人版)开源 以后很多网友询问系统的实现方式,我一一解释……,为此今天写文章详细讲解系统功能的实现细节。
以本站的开源项目账务管理系统的“债务人”模块为例子讲解
一、效果预览
债务人详细页面效果预览
二、实现方式
基本思想就是绑定列表中的人员名称触发事件,获得当前人员的ID发送ajax请求到后台,后台根据ID查询详细信息,返回JSON数据结果至前台,前台通过对话框组件显示人员详细
1、绑定click事件到列表的人员名称
在项目中的iouser/js/iouser.js文件中有这样一个方法:
/**
* 点击名称弹出详细
*/
function regShowDetail() {
$("span[name=iouid]").unbind('click').bind('click', function(){
showDetail($(this).parent().parent().find('input[name=chk]').val());
});
}
通过regShowDetail绑定了点击人员时执行showDetail的事件,
$(this).parent().parent().find('input[name=chk]').val()
//上面这句话就是获得列表左侧的复选框的value值以便传送给后台
下面介绍一下showDetail方法的功能实现:
/* 查看用户详细资料
* @param {} userId 用户ID
*/
function showDetail(userId) {
// 创建一个对话框组件
var dialog = $.weeboxs.open('showDetail.html', {
title: '正在加载用户信息……',
contentType: 'ajax',
width: 600,
height: 350,
animate: true,
clickClose: false,
type: 'wee',
showOk: false,
cancelBtnName: '关 闭',
onopen: innerShowDetail
});
//内部函数,实现债务人详细信息的载入、设置值
function innerShowDetail() {
// 获得JSON格式的数据
$.getJSON('load.do',{id : userId}, function(json) {
// 根据key设置value
for (key in json) {
if(key == 'id'){
$('#detailDiv #' + key).val(json[key]);
} else {
if(json[key] == ''){
// 没有值设置为空
$('#detailDiv #' + key).html(' ');
} else if(key == 'sex'){
$('#detailDiv #' + key).html(json[key] == '0' ? '女' : '男');
} else if(key == 'group'){
if(json[key] != null) {
$('#detailDiv #' + key).html(json[key]['groupName']);
}
} else {
$('#detailDiv #' + key).html(json[key]);
}
}
}
//设置对话框标题和内容
$('#detailDiv').removeAttr('class');
dialog.setTitle('查看人员[' + json['userName'] + ']详细资料');
dialog.setContent($('#detailDiv').html());
});
}
}
showDetail方法首先打开一个对话框组件 加载一个静态的模板showDetail.html
- 文件中的ID都是根据信息点命名的,这样便于通过ID设置值
通过路径load.do 请求后台查询人员详细,后台处理类为net.yanhl.iouser.action.IOUserAction的loadUser()方法,代码请点击这里查看
- 怎么查询一个POJO对象就介绍了,重点说明怎么返回JSON格式的数据
- 这里还是使用java语言使用的JSON工具json-lib,关于json-lib的资料上篇文章也已介绍,这里不再重复;
// 获取一个Iouser对象,包含债务人的信息
Iouser user = (Iouser) getBaseManager().get(Iouser.class, iouserId);
//使用json-lib工具把一个POJO对象解析为一个JSON格式数据
JSONObject jsonObject = JSONObject.fromObject(user, config);
//向前台发送结果集
print(response, jsonObject.toString());
最中返回的结果集如下:
{
“age” : 56,
“companyAddress” : “32″,
“companyName” : “未知”,
“companyPhone” : “–”,
“companyZip” : “”,
“createDate” : null,
“creatorId” : 1,
“group” : {
“childSize” : 0,
“createDate” : {
“date” : 27,
“day” : 6,
“hours” : 0,
“minutes” : 0,
“month” : 11,
“nanos” : 0,
“seconds” : 0,
“time” : 1230307200000,
“timezoneOffset” : -480,
“year” : 108
},
“creatorId” : 1,
“groupName” : “商务”,
“id” : 33,
“orderNum” : 0,
“remark” : “”
},
“homeAddress” : “香港九龙”,
“homePhone” : “”,
“homeZip” : “”,
“id” : 12,
“mobilePhone” : “15856453456″,
“orderNum” : 0,
“remark” : “香港富豪”,
“sex” : “1″,
“userName” : “李嘉诚”
}
前台获得了结果集之后就可以根据key获得value来设置详细页面的内容了,代码如下:
for (key in json) {
if(key == 'id'){
$('#detailDiv #' + key).val(json[key]);
} else {
$('#detailDiv #' + key).val(json[key]);
}
}
至此就是我们刚刚看到的效果了,是不是很简单O(∩_∩)O~
附:
分享到:
相关推荐
### 实例解析java+jQuery+json工作过程 #### 背景与概述 在现代Web开发中,前后端分离已成为一种普遍的技术趋势。在这种模式下,前端负责展示数据及交互逻辑,而后端则专注于处理业务逻辑及数据管理。Java、jQuery...
当用户选择省份后,jQuery会发送Ajax请求到服务器,服务器使用SSH框架处理请求,查询数据库并返回JSON格式的城市数据,最后jQuery解析JSON并在前端更新城市选择框。 总结来说,这个压缩包提供的示例是一个基于SSH...
这个“java+ajax+json+jquery完整实例”提供了一个实际的应用场景,展示了如何将这些技术有效地结合在一起。下面,我们将详细讨论这些技术以及在这个实例中的应用。 1. **Java**:Java是一种广泛使用的面向对象的...
【标题】: "实例解析java + jQuery + json工作过程(登录)" 【描述】: 本文将详细解析在Java环境下,结合jQuery库和JSON数据格式完成登录功能的工作流程。 【标签】: ajax, Java, jQuery, json, json-lib, 教程 ...
结合“java+json+jquery经典实例”这个标题和描述,我们可以推断这个压缩包可能包含了一些使用Java后端处理数据,通过JSON格式进行传输,并利用jQuery在前端展示和操作数据的简单示例项目。例如,它可能有一个简单的...
在本实例中,我们将探讨如何使用Django框架与jQuery库以及JSON数据格式来构建一个功能性的Web应用。Django是一个强大的Python Web框架,它提供了一整套解决方案来处理后端逻辑,而jQuery则是一个广泛使用的...
Struts、jQuery、Ajax以及JSON是Web开发中的四个关键技术,它们在构建动态、交互式的Web应用程序中发挥着重要作用。下面将分别介绍这些技术的核心概念及其在实际应用中的结合使用。 **Struts框架**:Struts是Apache...
【标题】"java+jsp+ajax+jst+jquery实例"涉及了Web开发中的多个关键技术和实践,主要关注Java后端、JSP(Java Server Pages)前端、Ajax(Asynchronous JavaScript and XML)、JST(JavaScript Templates)以及...
通过Ajax实现页面局部更新,通过JSON传递和解析数据,通过Java处理业务逻辑和数据交互,从而提供流畅且高效的用户体验。在实际应用中,开发者需要理解这些技术的工作原理,并熟练运用它们来构建交互式的Web应用。
通过这个"Java+ajax写的登录实例",我们可以了解到Java后端和Ajax前端如何协同工作,以提供流畅的用户体验。同时,这也是一个很好的实践案例,帮助初学者理解Web开发中的前后端交互和数据通信机制。
而JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和生成。 在"Struts2+JQuery+Json实例"中,我们探讨的是如何结合这三个技术...
结合实例,"struts2+jQuery+json 实例"很可能是创建了一个Web应用,用户在前端通过jQuery发送AJAX请求,这些请求可能包含表单数据或者对页面的某些操作。后端Struts2框架接收到请求后,会调用相应的Action执行业务...
总的来说,这个实例展示了如何利用Flexigrid、Struts2、JSON和jQuery构建一个交互性强、功能完善的Web应用,实现了数据的动态加载、灵活的用户交互以及后端数据的高效传输。这样的组合在现代Web开发中非常常见,因为...
6. JSON (JavaScript Object Notation):JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在本项目中,JSON作为Struts2、jQuery、DWR之间传递数据的媒介,提高了数据传输的效率和灵活...
jQuery的getJSON方法是一个异步函数,用于从指定URL获取JSON数据,并在成功时执行回调函数。在这个例子中,它调用了"AjaxHandler.ashx"这个服务端处理程序,然后在回调函数中解析返回的JSON数据。$.each方法用于遍历...
在项目中,`Struts2JQueryJson`文件夹可能包含了HTML页面、JavaScript脚本、Struts2相关的Action类、以及可能的 strut2 配置文件等资源。 总结来说,这个实例通过结合Struts2的后端控制、jQuery的前端交互和JSON的...
- 使用Response对象返回响应,可以是JSON格式的数据,便于前端解析并更新页面。 3. **添加数据** - 在前端,jQuery监听表单提交事件,阻止默认的表单提交行为,然后使用$.ajax()发送包含新数据的POST请求到ASP...
这个经典实例展示了jQuery、AJAX、Java和JSON在Web开发中的协同工作,通过这种方式,前端和后端可以高效地交换数据,实现动态更新页面而无需刷新整个页面,提升了用户体验。学习并熟练掌握这些技术对于成为一名优秀...
标题中的"SSI+JSON+jQuery案例"表明这是一个关于服务器端包含(SSI)、JavaScript对象表示法(JSON)以及jQuery JavaScript库的实际应用示例。这个项目可能是为了演示如何在Web开发中结合这三个技术,以提高效率和...
总的来说,这个“三级联动”项目展示了如何利用Struts2进行请求处理,Hibernate进行数据操作,JQuery实现前端交互,Ajax进行异步通信,以及Json进行数据交换。这是一个典型的Web应用开发实例,对于理解和掌握这些...