一、包

struts2与json的依赖包:struts2-json-plugin-2.2.3.jar

二、过程:

①引入json依赖包

②编写action类

③配置struts.xml

④编写页面

⑤测试

三、demo

1、Action 类

package com.zxt.action;
import com.opensymphony.xwork2.ActionSupport;
/**
*
* @Title: JsonAction.java
* @Package com.zxt.action
* @Description:struts2 + ajax + json用例
* @author zxt
* @date 2011-12-6 上午10:38:51
* @version V1.0
*/
public class JsonAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 7443363719737618408L;
/**
* 姓名
*/
private String name;
/**
* 身高
*/
private String inch;
/**
* ajax返回结果,也可是其他类型的,这里以String类型为例
*/
private String result;
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
if ("张三".equals(name)) {
result = "身份验证通过,身高为" + inch;
} else
result = "不是张三!";
return SUCCESS;
} public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getInch() {
return inch;
}
public void setInch(String inch) {
this.inch = inch;
}
/**
*
* @Title: getResult
* @Description:json调取结果
* @param @return
* @return String
* @throws
*/
public String getResult() {
return result;
}
}

2、Struts 配置

<package name="ajax" extends="json-default">
<action name="jsonAjax" class="com.zxt.action.JsonAction">
<!-- 将返回类型设置为json -->
<result type="json"></result>
</action>
</package>

3、JSP页面

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<% String path=r equest.getContextPath(); String basePath=r equest.getScheme()+ "://"+request.getServerName()+ ":"+request.getServerPort()+path+ "/"; %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html> <head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>测试</title>
<script type="text/javascript" src="include/js/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(function () {
$("#tj").click(function () {
//提交的参数,name和inch是和struts action中对应的接收变量
var params = {
name: $("#xm").val(),
inch: $("#sg").val()
};
$.ajax({
type: "POST",
url: "jsonAjax.action",
data: params,
dataType: "text", //ajax返回值设置为text(json格式也可用它返回,可打印出结果,也可设置成json)
success: function (json) {
var obj = $.parseJSON(json); //使用这个方法解析json
var state_value = obj.result; //result是和action中定义的result变量的get方法对应的
alert(state_value);
},
error: function (json) {
alert("json=" + json);
return false;
}
});
});
});
</script>
</head> <body>
<span>姓名:</span>
<input id="xm" type="text">
<br/>
<span>身高:</span>
<input id="sg" type="text">
<br/>
<input type="button" value="提交" id="tj">
</body> </html>

4、Jquery 解析

 var data = {
"list": [{
"id": 1,
"content": "测试信息1111"
}, {
"id": 2,
"content": "测试信息2222"
}]
}
$.each(data.list, function (i, item) {
alert(item.id);
alert(item.content);
});


参考

[1] 天天向上.struts2 + ajax + json的结合使用,实例讲解.http://hi.baidu.com/zhaotao_king/item/d356c1c5a84bb4c0994aa074

[2] yin_jw.Struts2+json+jQuery(用户名验证).http://yin-jw.iteye.com/blog/1095885

[3] ini_always.struts2整合json出现no result type defined for type 'json'的解决方法.http://www.cnblogs.com/ini_always/archive/2011/10/15/2213404.html

Struts Ajax Json的更多相关文章

  1. Struts+Spring+Hibernate项目整合AJAX+JSON

    1.什么是AJAX AJAX是 "Asynchronous JavaScript and XML" 的简称,即异步的JavaScript和XML. 所谓异步,就是提交一个请求不必等 ...

  2. ajax+json模态框中分页(spring+struts+mybatis+easyui分页插件)

    0.业务需求: 点击每个数字的时候可以显示每个对应的详细记录.也就是得点击11的时候拿着开采部与C级去查询.

  3. struts2 + ajax + json的结合使用,实例讲解

    struts2用response怎么将json值返回到页面javascript解析,这里介绍一个struts2与json整合后包的用法. 1.准备工作 ①ajax使用Jquery:jquery-1.4 ...

  4. Struts的JSON机制

    需要加入jar包 Struts的JSON帮助我们自动将对象解析为JSON对象,不用我门借助第三方进行JSON的解析 .具体的使用机制如下: 1.Action类 package StrutsJSON; ...

  5. Struts2 ajax json使用介绍

    一.jar包首先引入Struts和json所需的jar包. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXRteWhvbWUxOTkw/font/5a6 ...

  6. struts中json机制与普通页面跳转机制混用(全局结果集配置返回json)

    package继承json-default与struts-default 返回结果是add的话将addResult属性转换为json返回(addResult属性有getter,setter方法),返回 ...

  7. AJAX,JSON搜索智能提示

    效果 开发结构参考AJAX,JSON用户校验 主要有两个核心文件 1,处理输入字符,进行后台搜索的servlet Suggest.java package org.guangsoft.servlet; ...

  8. php ajax json jquery 记录

    php+jquery+ajax+json简单小例子 <html> <title>php+jquery+ajax+json简单小例子</title> <?php ...

  9. 练习 jquery+Ajax+Json 绑定数据 分类: asp.net 练习 jquery+Ajax+Json 绑定数据 分类: asp.net

    练习 jquery+Ajax+Json 绑定数据

随机推荐

  1. Timus 1149. Sinus Dances 打印复杂公式

    就是打印以下这两个复杂的式子: Let An = sin(1–sin(2+sin(3–sin(4+-sin(n))-) Let Sn = (-(A1+n)A2+n–1)A3+-+2)An+1 For ...

  2. SlackWare安装

     Keep It Simple Stupid 01.下载 slackware: http://www.slackware.com/ 中科大:    http://mirrors.ustc.edu.cn ...

  3. Javascript中的数据类型知多少

    JavaScript 是一种弱类型或者说动态语言.这意味着你不用提前声明变量的类型,在程序运行过程中,类型会被自动确定.这也意味着你可以使用同一个变量保存不同类型的数据 根据ECMAScript 5. ...

  4. 腾讯开放平台 iOS应用URL schema、Bundle ID填写 (含微博、微信)

    解释如下: qq比较麻烦点,需要两个 URL schemes 1.QQ+appID(注意:appID原本是10进制的,需要先转换16进制,网址:点击转换16进制) 2.tencent+appID 结束

  5. ssh之为什么要放弃ssh?

    本文经转载, 源出处不详.https://www.cnblogs.com/hackxiyu/p/6849085.html 最近听一些朋友说,招聘面试的很多人简历都差不多,大部分人的简历上面都写了熟悉s ...

  6. 【LeetCode】31. Next Permutation (2 solutions)

    Next Permutation Implement next permutation, which rearranges numbers into the lexicographically nex ...

  7. Extending and Embedding PHP

    Extending and Embedding PHP http://wizardmin.com/2010/08/extending-and-embedding-php-6/

  8. Cannot refer to the non-final local variable user defined in an enclosing scope 内部类定义在方法内,方法定义的参数(形参)无法被内部类直接访问,需要用final定义

    为什么匿名内部类参数必须为final类型 1)  从程序设计语言的理论上:局部内部类(即:定义在方法中的内部类),由于本身就是在方法内部(可出现在形式参数定义处或者方法体处),因而访问方法中的局部变量 ...

  9. js LINQ教程

    在说LINQ之前必须先说说几个重要的C#语言特性 一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之前, 我们在声明一个变量的时候, 总是要为一个变量指定他的类型 甚至在fore ...

  10. JFinal常见问题和知识点笔记

    1.当主键Id命名不是“id”时,应该显式地将自定义的id指出来 例如: Db.deleteById("post_user","user_id", 5); 2. ...