1、下载JSON jar包
http://json-lib.sourceforge.net/
2、下载JSON js库
http://www.json.org/json2.js
3、下载JSON jar包依赖的jar包
jakarta commons-lang 2.4
jakarta commons-beanutils 1.7.0
jakarta commons-collections 3.2
jakarta commons-logging 1.1.1
ezmorph 1.0.6
4、新建一项目Json,导入以上jar包以及struts1.3所需jar包
5、将下载的js文件拷贝到项目WebRoot下面的任意目录
6、新建一html文件json.html,导入js库
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="script/json2.js"></script>
<title>Ajax+JSON+Java</title>
<style type="text/css">
fieldset{
margin:10px;
padding:5px;
}
table{
border: 1px solid #44b6dc;
border-collapse: collapse;
empty-cells: show;
margin:10px
}
caption{
text-align:left;
padding-left:5px
}
th{
background: #e1edfb;
height:25px;
border: 1px solid #44b6dc;
padding:5px
}
td {
border: 1px solid #44b6dc;
padding:5px
}
input{
margin-top:5px
}
.blank{
letter-spacing:60px
}
</style>
<script type="text/javascript">
var xmlHttp;
function createXMLHttp(){
if(window.ActiveXObject){
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e1){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e2){
alert("创建XMLHttpRequest对象失败");
}
}
}else if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}
}
function User(name,gender,age,phone,address,email){
this.name=name;
this.gender=gender;
this.age=age;
this.phone=phone;
this.address=address;
this.email=email;
}
function add(){
var name,gender,age,phone,address,email;
name=document.getElementsByName("name")[0].value;
for(var i=0;i<document.getElementsByName("gender").length;i++){
if(document.getElementsByName("gender")[i].checked){
gender=document.getElementsByName("gender")[i].value;
}
}
age=document.getElementsByName("age")[0].value;
phone=document.getElementsByName("phone")[0].value;
address=document.getElementsByName("address")[0].value;
email=document.getElementsByName("email")[0].value;
var user=new User(name,gender,age,phone,address,email);
var json=JSON.stringify(user);
createXMLHttp();
xmlHttp.onreadystatechange=process;
xmlHttp.open("post","json.do",true);
xmlHttp.send(json);
}
function process(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
var user;
user=JSON.parse(xmlHttp.responseText);
update(user);
}
}
}
function update(user){
var table=document.getElementById("userList");
table.insertRow(-1);
var rows=table.rows.length;
table.rows[rows-1].bgColor="#ffffff";
table.rows[rows-1].align="center";
table.rows[rows-1].insertCell(-1);
table.rows[rows-1].insertCell(-1);
table.rows[rows-1].insertCell(-1);
table.rows[rows-1].insertCell(-1);
table.rows[rows-1].insertCell(-1);
table.rows[rows-1].insertCell(-1);
table.rows[rows-1].cells[0].innerHTML=user.name;
table.rows[rows-1].cells[1].innerHTML=user.gender;
table.rows[rows-1].cells[2].innerHTML=user.age;
table.rows[rows-1].cells[3].innerHTML=user.phone;
table.rows[rows-1].cells[4].innerHTML=user.address;
table.rows[rows-1].cells[5].innerHTML=user.email;
}
</script>
</head>
<body>
<fieldset>
<legend>添加用户</legend>
姓名:<input type="text" name="name" maxlength="20"><br/>
性别:<input type="radio" name="gender" value="male" checked="checked">男
<input type="radio" name="gender" value="female">女<br/>
年龄:<input type="text" name="age" maxlength="3"><br/>
电话:<input type="text" name="phone" maxlength="11"><br/>
地址:<input type="text" name="address" maxlength="50"><br/>
邮箱:<input type="text" name="email" maxlength="50"><br/>
<span class="blank"> </span>
<input type="button" value="添加" onClick="add()">
</fieldset>
<table id="userList" border="1">
<caption>用户列表</caption>
<tr>
<th>姓名</th>
<th>性别</th>
<th>年龄</th>
<th>电话</th>
<th>地址</th>
<th>邮箱</th>
</tr>
</table>
</body>
</html>
7、新建一action JsonAction.java
package jp.com.syspro.action;
import java.io.BufferedReader;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONObject;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class JsonAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
StringBuffer json=new StringBuffer();
String line="";
BufferedReader br=request.getReader();
while((line=br.readLine())!=null){
line=new String(line.getBytes("ISO8859-1"),"UTF-8");
json.append(line);
}
JSONObject jo=JSONObject.fromObject(json.toString());
String name=jo.getString("name");
String gender="";
if("male".equals(jo.getString("gender"))){
gender="男";
}else{
gender="女";
}
String age=jo.getString("age");
String phone=jo.getString("phone");
String address=jo.getString("address");
String email=jo.getString("email");
jo.put("name", name);
jo.put("gender", gender);
jo.put("age", age);
jo.put("phone",phone);
jo.put("address", address);
jo.put("email", email);
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
PrintWriter out=response.getWriter();
out.println(jo.toString());
out.flush();
out.close();
out.close();
return null;
}
}
8、运行结果
分享到:
相关推荐
这个“java+ajax+json+jquery完整实例”提供了一个实际的应用场景,展示了如何将这些技术有效地结合在一起。下面,我们将详细讨论这些技术以及在这个实例中的应用。 1. **Java**:Java是一种广泛使用的面向对象的...
在IT行业中,Java和Ajax是两个非常重要的技术,它们经常被结合使用来创建交互性更强的Web应用程序。在这个“Java+ajax写的登录实例”中,我们将深入探讨如何利用这两种技术实现一个实时验证用户登录信息的功能。 ...
总结起来,这个【项目组管理系统】结合了Java的稳定性和强大的功能,利用JSON进行数据交换,借助jQuery简化前端开发,并通过Ajax提供流畅的用户体验。对于想要学习Web应用开发的人来说,这是一个很好的实践案例,...
【标题】"Ajax + JSON + Java" 是一种常见的前端与后端交互技术组合,用于实现网页的异步数据更新,无需整个页面刷新。Ajax(Asynchronous JavaScript and XML)是利用JavaScript进行局部页面更新的技术,而JSON...
Springmvc+maven+ajax+jquery+json+mybatis做的登录,注册,增删改查详细注释,大家可以来一下,看看对自己有没有帮助哈,这是我自己一点点的打的,采用MyEclipse 10运行出来.并且付有sql脚本.可直接导入运行.并且经本人...
2. JSON:Ajax常用的数据交换格式,比XML更轻量级,易于读写。 3. JavaScript库:jQuery、Prototype等库简化了Ajax的使用,提供了一系列方便的API。 四、Java + Servlet + Ajax 结合应用 1. 用户交互:Ajax允许...
在Java Web中,Ajax通常结合JSON(JavaScript Object Notation)数据格式使用,因为JSON轻量且易于解析。开发者需要学习XMLHttpRequest对象的使用,以及在JavaScript中处理JSON数据的方法。 在实际案例中,我们可能...
Struts2、JSON、Ajax 和 jQuery 是Web开发中的四个关键技术,它们共同构建了现代Web应用程序的数据交互和用户界面交互的核心部分。 Struts2 是一个基于MVC(Model-View-Controller)架构的Java Web框架,它使得...
jsp+servlet+ajax使用json作为数据传输介质完成 1.用户名是否存在的验证 2.根据姓名获取该对象使用gson将对象转换成json后返回给客户端并显示,完成修改功能时经常使用 3.gson将集合转换成json(数组格式)后返回给...
【标题】"ZTree+Struts2+ajax+json实现checkbox权限树"涉及的技术栈主要集中在前端的ZTree,后端的Struts2框架,以及数据交互中的Ajax和JSON。这个项目的核心目标是构建一个可复选的权限树形结构,用户通过勾选节点...
这个压缩包中的资源,"SSH+jQuery+json 实现的Ajax操作,绝对精华,代码简练清晰,绝对能看明白",显然提供了一个使用这些技术实现Ajax级联操作的实例。下面将详细介绍这些技术及其在Ajax操作中的应用。 **SSH ...
注:此项目是用IntelliJ IDEA 13.1.3此软件编写而成,不过和myeclipse都差不多,本项目包含SpringMVC+JSON+mybatis+jQuery+Ajax+Maven做的无刷新登录,注册,修改密码,拦截器,如果用户没有登录则不能进行相应操作...
### 基于JQuery、Ajax与JSON实现分页显示技术解析 #### 技术背景与应用场景 在现代Web开发中,数据展示是一项至关重要的功能。随着数据量的增长,简单的列表展示方式已不能满足用户体验的需求。为了提升用户体验,...
**Ajax+JSON 实例详解** 在现代Web开发中,AJAX(Asynchronous JavaScript and XML)技术已经成为提升用户体验的重要工具,它允许网页在不刷新整个页面的情况下与服务器进行数据交互。结合JSON(JavaScript Object ...
总结起来,"struts2+jquery+json+ajax"的例子展示了如何利用这些技术协同工作,实现一个无刷新的登录界面,提供流畅的用户体验。通过Struts2处理业务逻辑和数据验证,jQuery和Ajax负责前后端的通信,JSON作为数据...
"java+Ajax实现省市地三级联动"就是一个典型的案例,它利用了Java、Ajax、JSON、Servlet和JavaScript等技术,来构建一个动态的下拉选择框,使得用户在选择省之后,市和地级行政区划会根据所选的省自动更新。...
在IT行业中,Java、Servlet、Jquery和Json都是不可或缺的技术组件,它们在Web开发领域扮演着重要的角色。这里我们将深入探讨这些技术的基础及其在实际应用中的结合。 首先,Java是一种多平台、面向对象的编程语言,...
在这个案例中,Java后端可能使用了Servlet或Spring Boot框架来接收前端的AJAX请求,执行SQL查询,从MySQL数据库中获取数据,然后将这些数据以JSON格式返回给前端。 4. **MySQL数据库**: MySQL是一个广泛使用的...