六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 36|回复: 0

struts2.2.x+ajax+json

[复制链接]

升级  20.67%

21

主题

21

主题

21

主题

秀才

Rank: 2

积分
81
 楼主| 发表于 2013-1-29 10:51:24 | 显示全部楼层 |阅读模式
先说依赖包,这些包都在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, IE5xmlhttp = 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 + '</p>');}bookHolder.innerHTML = sBook;}}}</script></head><body><input type="button" value="Retrieve Book"  /><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;}@Overridepublic 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> 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表