struts2.2.x+ajax+json

先说依赖包,这些包都在struts2发布包里

 

运行结果

index.jsp

 

 


 

<%@ 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 xmlhttp;
	function loadXMLDoc(url) {
		xmlhttp = null;
		if (window.XMLHttpRequest) {// code for Firefox, Opera, IE7, etc.
			xmlhttp = new XMLHttpRequest();
		} else if (window.ActiveXObject) {// code for IE6, IE5
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		if (xmlhttp != null) {
			xmlhttp.onreadystatechange = state_Change;
			xmlhttp.open("GET", url, true);
			xmlhttp.send(null);
		} else {
			alert("Your browser does not support XMLHTTP.");
		}
	}

	function state_Change() {
		if (xmlhttp.readyState == 4) {
			if (xmlhttp.status == 200) {
				var oBook = eval('(' + xmlhttp.responseText + ')');
				var bookHolder = document.getElementById('bookHolder');
				var sBook = '<p><b>ISBN: </b>' + oBook.bookId + '</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;
			}
		}
	}
</script>
</head>
<body>
<input type="button" value="Retrieve Book" οnclick="loadXMLDoc('ajax')" />
<div id="bookHolder"></div>
</body>
</html>

 

struts

package com.fhqiwcw.action;

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

import com.opensymphony.xwork2.ActionSupport;

public class AjaxAction extends ActionSupport {
	private int bookId;
	private String title;
	private double price;
	private List<String> comments;
	private transient String secret1;
	private String secret2;

	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;
	}
}

 

配置

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值