`

struts2.1.x+ajax+json

    博客分类:
  • ajax
阅读更多
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page session="false"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href=<%=basePath%> />
<title>JSON Plugin</title>
<script type="text/javascript">
	var bXmlHttpSupport = (typeof XMLHttpRequest != "undefined" || window.ActiveXObject);

	if (typeof XMLHttpRequest == "undefined" && window.ActiveXObject) {
		function XMLHttpRequest() {
			var arrSignatures = [ "MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0",
					"MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP" ];

			for ( var i = 0; i < arrSignatures.length; i++) {
				try {
					var oRequest = new ActiveXObject(arrSignatures[i]);
					return oRequest;
				} catch (oError) { /*ignore*/
				}
			}

			throw new Error("MSXML is not installed on your system.");
		}
	}

	function retrieveBook() {
		if (bXmlHttpSupport) {
			var sUrl = 'ajax.action';
			var oRequest = new XMLHttpRequest();
			oRequest.onreadystatechange = function() {
				if (oRequest.readyState == 4) {
					if (oRequest.status == 200) {
						var oBook = eval('(' + oRequest.responseText + ')');
						var bookHolder = document.getElementById('bookHolder');
						var sBook = '<p><b>ISBN: </b>' + oBook.ISBN + '</p>';
						sBook += ('<p><b>Title: </b>' + oBook.title + '</p>');
						sBook += ('<p><b>Price: </b>$' + oBook.price + '</p>');
						sBook += ('<b><i>Comments: </i></b><hr/>');
						for (i = 0; i < oBook.comments.length; i++) {
							sBook += ('<p><b>#' + (i + 1) + ' </b>'
									+ oBook.comments[i] + '</p>');
						}
						bookHolder.innerHTML = sBook;
					}
				}
			};
			oRequest.open('POST', sUrl);
			oRequest.send(null);
		}
	}
</script>
</head>
<body>
<input type="button" value="Retrieve Book" onclick="retrieveBook()" />
<div id="bookHolder"></div>
</body>
</html>

 struts2

package com.fhqiwcw.action;

import java.util.ArrayList;
import java.util.List;

import com.googlecode.jsonplugin.annotations.JSON;
import com.opensymphony.xwork2.ActionSupport;

public class AjaxAction extends ActionSupport {
	private static final long serialVersionUID = -6784977600668791997L;

	private int bookId;
	private String title;
	private double price;
	private List<String> comments;
	private transient String secret1;
	private String secret2;

	@JSON(name = "ISBN")
	public int getBookId() {
		return bookId;
	}

	public void setBookId(int bookId) {
		this.bookId = bookId;
	}

	public List<String> getComments() {
		return comments;
	}

	public void setComments(List<String> comments) {
		this.comments = comments;
	}

	public double getPrice() {
		return price;
	}

	public void setPrice(double price) {
		this.price = price;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	@Override
	public String execute() {
		bookId = 15645912;
		// title = "Max On Java";
		price = 0.9999d;
		comments = new ArrayList<String>(3);
		comments.add("It's no bad!");
		comments.add("WOW!");
		comments.add("No comment!");
		secret1 = "You can't see me!";
		secret2 = "I am invisible!";
		return SUCCESS;
	}
}

 

struts2配置

<action name="ajax" class="com.fhqiwcw.action.AjaxAction">
			<result type="json" />
		</action>

结果预览(貌似IE不支持)



  

下载附件的json插件,本插件支持struts2.1.x,但有人反应2.1.8也有问题,那struts2.2.x怎么办呢,请看struts2.2.x+ajax+json

  • 大小: 4.9 KB
分享到:
评论

相关推荐

    json-lib-2.1.jar和struts2-json-plugin-2.1.8.1.jar

    `struts2-json-plugin-2.1.8.1.jar` 则是Struts 2框架的一个插件,主要用于增强Struts 2对JSON的支持。Struts 2是一款非常流行的MVC(Model-View-Controller)框架,用于构建企业级的Java Web应用程序。这个插件允许...

    struts2 相关jar包 包含json-lib-2.1.jar+struts2-json-plugin-2.1.8.1.jar

    这个压缩包包含了两个关键的组件:json-lib-2.1.jar和struts2-json-plugin-2.1.8.1.jar,它们是Struts2支持JSON(JavaScript Object Notation)序列化和反序列化的关键。 1. **json-lib-2.1.jar**: JSON是一种轻...

    struts2.1.8.1+jquery1.4.2返回json数据

    总结以上,Struts2.1.8.1和jQuery1.4.2的结合使用,允许开发者创建异步Web应用,通过Ajax请求获取和显示JSON数据,提高用户体验。通过理解和熟练运用这些知识点,可以构建出高效、响应式的Web应用程序。在实际开发中...

    struts2.1.8.1+jquery1.4.2返回json数据.pdf

    ### Struts2.1.8.1与jQuery1.4.2实现JSON数据交互详解 在Web开发领域,Struts2框架因其强大的功能和灵活性而备受开发者青睐。结合jQuery库,能够实现前后端数据的高效交换,特别是通过JSON格式进行数据传输更是常见...

    struts2.1+json+jquery用户名校验

    在这个"struts2.1+json+jquery用户名校验"项目中,我们重点关注的是如何利用这些技术进行前端与后端的数据交互,特别是关于用户名的验证。 首先,Struts2.1是一个基于MVC(Model-View-Controller)设计模式的Java ...

    struts-2.1.8.1的全部jar包

    7. **struts2-json-plugin.jar**:支持JSON数据格式的输入和输出,方便与AJAX或移动设备进行通信。 8. **struts2-spring-plugin.jar**:如果项目中使用了Spring框架,这个插件可以帮助集成Struts 2和Spring,实现...

    struts2.1.8.1-API.rar

    Struts2.1.8.1是Apache软件基金会开发的一款基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。这个API文档压缩包“struts2.1.8.1-API.rar”包含了该版本Struts2的核心组件、接口、类和方法的详细...

    struts2.1+json+jquery1.4实现用户名校验

    Struts2.1、JSON和jQuery1.4是Web开发中的关键组件,它们结合使用可以构建出高效且用户友好的应用程序。在这个特定的场景中,我们看到的是一个利用这些技术进行用户名验证的实现。 首先,Struts2.1是Apache Struts...

    struts2-json-plugin-2.1.8.1.jar

    在Struts2框架中,该插件允许开发者将Action的返回结果直接转换为JSON格式,方便进行Ajax(Asynchronous JavaScript and XML)操作,提高Web应用的响应速度和用户体验。 标题"struts2-json-plugin-2.1.8.1.jar"表明...

    struts_2.1.8.1相关jar包

    4. **struts2-json-plugin.jar**:支持JSON(JavaScript Object Notation)格式的输入输出,使得Struts 2能够与AJAX和移动应用更好地交互。 5. **struts2-dojo-plugin.jar**:提供了与Dojo JavaScript库的集成,...

    struts 2.1 jar

    6. **struts2-json-plugin.jar**:此插件支持JSON(JavaScript Object Notation)格式的数据交换,使Struts 2能够更好地与AJAX和RESTful服务交互。 此外,根据应用的具体需求,可能还需要其他依赖,如国际化支持、...

    struts2+juery+ajax+json+进度条显示

    在原来的项目中集成juery的ajax功能,返回json串,结果报了一大堆版本冲突以及jar包缺失的问题,在网上查了老半天资料终于成功了,附传资源包以及我做的小例子大家共享下,注意版本一定要对应上。另外在ajax等待页面...

    Struts2-core-2.1.8.1.jar

    Struts2-core-2.1.8.1.jar 是一个重要的Java Web开发库,它是Apache Struts框架的核心组件。Struts2是一个基于Model-View-Controller(MVC)设计模式的开源框架,用于构建企业级的Java Web应用程序。这个特定版本...

    struts-json-plugin-2.1.8.jar struts2-junit-plugin-2.1.8.jar json-lib-2.1.jar

    首先,我们来看`struts-json-plugin-2.1.8.jar`,这是Struts2的JSON插件,它允许Struts2的动作类直接返回JSON格式的数据,方便前端进行Ajax请求处理。该插件在2.1.8版本中修复了若干bug,并提供了对JSON输出的支持。...

    与struts2配套的JSON架包

    在前端,可以通过JavaScript或者jQuery等库,使用AJAX请求Struts2的JSON Action,并处理返回的JSON数据。例如,使用jQuery的`$.ajax()`方法: ```javascript $.ajax({ url: 'myAction.json', type: 'POST', ...

    struts2.3.1.1

    这包括Struts2的核心库、依赖的第三方库,如OGNL(Object-Graph Navigation Language)用于表达式语言,Freemarker或JSP作为视图技术,以及各种插件如Ajax、JSON支持等。开发者需要将这些库添加到项目的类路径中,以...

    Struts 2.1-AJAX-JSON实例

    这个实例项目展示了如何在Struts 2.1框架下,通过AJAX和JSON实现动态交互的Web应用。开发者可以通过这个实例学习如何配置Struts 2的Ajax插件,编写Action以返回JSON数据,以及在客户端使用JavaScript处理这些数据,...

    struts2.1+ rest

    Struts2.1版本相对于更早的版本,可能包含了一些性能优化和新特性,例如改进的拦截器(Interceptors)机制,增强的配置管理,以及对AJAX和REST的支持等。这些改进使开发者能够更高效地编写和组织代码。 在描述中...

    Struts 2.1 Libraries

    8. **Plug-in机制**:Struts 2具有强大的插件机制,可以轻松扩展框架功能,如AJAX支持、文件上传下载、JSON响应等。 9. **Validation框架**:Struts 2提供了内置的验证框架,可以在客户端和服务器端进行数据验证,...

Global site tag (gtag.js) - Google Analytics