六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 32|回复: 0

struts2.1.x+ajax+json

[复制链接]

升级  20.67%

21

主题

21

主题

21

主题

秀才

Rank: 2

积分
81
 楼主| 发表于 2013-2-7 15:24:12 | 显示全部楼层 |阅读模式
<%@ 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);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 + '</p>');}bookHolder.innerHTML = sBook;}}};oRequest.open('POST', sUrl);oRequest.send(null);}}</script></head><body><input type="button" value="Retrieve Book"  /><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;}@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;}} 
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
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

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