`

Structs2 Json Ajax实现

阅读更多
1.建立my.struts2.web.JSONResult(自定义结果类,只要实现com.opensymphony.xwork2.Result接口)
package my.struts2.web;

import java.io.PrintWriter;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.Result;
import com.opensymphony.xwork2.util.ValueStack;
import net.sf.json.JSONArray;

public class JSONResult implements Result{

@Override
public void execute(ActionInvocation invocation) {
try {
ServletActionContext.getResponse().setContentType("text/plain");
PrintWriter responseStream = ServletActionContext.getResponse().getWriter();
ValueStack valueStack = invocation.getStack();
Object jsonModel = valueStack.findValue("jsonModel");
responseStream.println(JSONArray.fromObject(jsonModel));
} catch (Exception e) {
System.out.println(e);
}

}
}

2.structs2 XML配置
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
     <include file="struts-default.xml"/>
     <package name="tutorial"  extends="struts-default"  >
     <result-types>
     <result-type name="jsonResult"  class="my.struts2.web.JSONResult"/>
     </result-types>
     <default-interceptor-ref name="defaultStack"/>
         <action name="ajaxTest"  class="my.struts2.web.AjaxTestAction">
             <result type="jsonResult"/>         </action>
     </package>
</struts>

3.建立my.struts2.web.AjaxTestAction类
package my.struts2.web;

import com.opensymphony.xwork2.ActionSupport;

public class AjaxTestAction extends ActionSupport{

public String execute() {
User user = new User();
user.setName("huatu122");
user.setPs("xxxxxx");
setJsonModel(user);
        return "success";
  }
private Object jsonModel;

public Object getJsonModel() {
return jsonModel;
}
public void setJsonModel(Object jsonModel) {
this.jsonModel = jsonModel;
}
}

4.建立my.struts2.web.User

package my.struts2.web;

public class User {
private String name;
   private String ps;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPs() {
return ps;
}
public void setPs(String ps) {
this.ps = ps;
}   
}
5.建立ajaxTest.jsp
<%@ page contentType="text/html; charset=UTF-8" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Structs2 AjaxTest</title>
<script type="text/javascript">
  function ajaxResponse(){
    if(req.readyState==4){
            var myObject = eval('(' + req.responseText + ')');  
            alert("name:"+myObject[0].name);
            alert("ps:"+myObject[0].ps);
        }
  }
  function ajaxPost(callback, url) {
  if (window.XMLHttpRequest){
    req = new XMLHttpRequest();
    req.onreadystatechange = callback;
    req.open("GET", url, true);
    req.send(null);
  }else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
    if (req) {
      req.onreadystatechange = callback;
      req.open("GET", url, true);
      req.send();
    }
  }
}
</script>
</head>
<body onload="ajaxPost(ajaxResponse,'/s2/ajaxTest.action')">
</body>
</html>


2
0
分享到:
评论
1 楼 cloudbee 2011-09-17  
Nice code. Test passed.

相关推荐

    struts2jsonajax

    在"struts2jsonajax"项目中,我们看到Struts2与JSON和AJAX进行了整合。Struts2通过Action和Result来处理用户的请求,并返回响应。在这个整合中,Struts2 Action将处理业务逻辑后,会以JSON格式返回数据,而非传统的...

    Jquery struts2 json 实现ajax

    标题 "Jquery struts2 json 实现ajax" 涉及到的是在Web开发中使用jQuery库与Struts2框架结合处理JSON数据的Ajax技术。这个主题主要关注如何通过前端的jQuery实现异步请求,与后端的Struts2框架进行交互,从而更新...

    struts2 json Ajax 整合所需全部jar包.zip

    "struts2 json Ajax 整合所需全部jar包.zip"这个压缩包文件包含了实现上述功能所需的JAR库。lib目录下的文件可能包括Struts2的核心库、JSON处理库以及可能的Ajax支持库,如jQuery或Prototype。这些库可能包括: 1. ...

    struts2的Ajax实现注册验证

    你需要设置一个特定的结果类型,比如`json`,这将使Struts2以JSON格式返回数据,非常适合Ajax调用。 2. **Ajax请求**:在客户端,通常使用JavaScript库如jQuery来发送Ajax请求。一个简单的例子是使用`$.ajax()`函数...

    struts2 json ajax示例 google提示

    在这个"struts2 json ajax示例 google提示"中,我们将探讨如何在Struts2框架中利用JSON和AJAX技术实现Google搜索建议那样的动态数据加载功能。 首先,我们需要在Struts2项目中集成JSON插件。Struts2 JSON插件提供了...

    AjaxStruts2Json实例

    Struts2提供了`struts2-jquery-plugin`和`struts2-json-plugin`两个插件来实现Ajax功能。在这个实例中,我们将主要使用`struts2-json-plugin`,它能够方便地将Action的结果以JSON格式返回给客户端。 1. **环境配置*...

    ZTree+Struts2+ajax+json实现checkbox权限树

    【标题】"ZTree+Struts2+ajax+json实现checkbox权限树"涉及的技术栈主要集中在前端的ZTree,后端的Struts2框架,以及数据交互中的Ajax和JSON。这个项目的核心目标是构建一个可复选的权限树形结构,用户通过勾选节点...

    struts2+json

    这个资源"struts2+json"显然涉及到在Struts2框架下实现JSON(JavaScript Object Notation)数据交换,这是一种轻量级的数据交换格式,广泛用于前后端交互,特别是AJAX(Asynchronous JavaScript and XML)请求。...

    AJAX和struts2传递JSON数组

    总结来说,通过这种方式,我们可以利用AJAX向Struts2 Action传递JSON数组,实现异步数据交互。这在动态更新页面内容、处理表单提交等场景下非常有用。同时,使用JSON作为数据交换格式,使得前后端的数据交换变得更加...

    Struts2 ajax json使用介绍

    在Struts2中,我们可以利用Ajax和JSON来实现数据的异步交互。 **一、引入所需库** 首先,为了在Struts2中使用Ajax和JSON,我们需要引入以下库: 1. Struts2的核心库:`struts2-core.jar` 2. Struts2的JSON插件:`...

    Struts2Json+ajax的实现 精简源码

    在Struts2框架中实现JSON和AJAX,可以帮助开发者构建更加高效和用户友好的界面。首先,我们需要在`struts.xml`配置文件中启用JSON支持。通过添加`&lt;constant&gt;`标签设置`struts.json.enable=true`,开启Struts2的JSON...

    json2+jsonplugin struts2整合ajax时,使用json时需要的jar包

    在Struts2框架中整合Ajax以实现异步数据交互,JSON(JavaScript Object Notation)扮演了关键角色。JSON是一种轻量级的数据交换格式,它允许Web应用与服务器之间高效地传输数据,而无需进行繁琐的HTTP请求。在这个...

    struts2 json

    5. **[原创]Struts2 + JQuery + JSON实现AJAX - Struts - Java - ITeye论坛.mht**:这个文件可能是一个论坛帖子,详细介绍了如何结合Struts2、jQuery和JSON实现AJAX功能。帖子中可能会涵盖Action配置、JSON结果类型...

    struts2中AJAX实现

    7. **示例代码**:在提供的压缩包文件“struts2中实现AJAX的小实例”中,可能包含了一个简单的Struts2 Action、对应的JSP页面以及JavaScript代码。Action类可能有一个返回JSON数据的方法,JSP页面可能包含一个AJAX...

    Struts2+Ajax实现的用户登录

    在"Struts2+Ajax实现的用户登录"场景中,首先,我们需要在Struts2的配置文件(struts.xml)中定义一个Action,这个Action将处理用户的登录请求。Action通常会包含一个方法,比如`execute()`,该方法会在用户提交登录...

    使用struts2 和ajax进行传递json数据

    综上所述,Struts2和Ajax的结合使用,能够实现高效的前后端数据交互,通过JSON数据格式,使数据传输更加便捷和高效。在实际项目中,开发者应熟练掌握这两种技术的结合,以提高Web应用的用户体验。

    json+jquery+struts2+ajax

    struts2 json jquery ajax实现用户登陆及业面跳转

    struts2与json整合

    通过将Struts2与JSON整合,可以轻松地与AJAX技术结合,实现前后端数据的实时交互。例如,在前端使用jQuery等库发起AJAX请求,获取或发送JSON格式的数据,而在后端,Struts2框架则能够无缝处理这些JSON数据,从而构建...

    使用Struts2的JSON插件来实现JSON数据传递

    总的来说,Struts2的JSON插件大大简化了基于JSON的Web服务开发,使得Java开发者能够轻松地在Struts2框架内处理JSON数据,实现了前后端的高效通信。了解并熟练掌握这一插件的使用,对于提升Java Web应用的开发效率和...

    struts2+json+ajax整合例子(导入即可运行,附带详细教程)

    Struts2、JSON和AJAX是Web开发中的关键技术,它们的整合可以实现高效的数据交互和动态页面更新。本文将深入探讨这些技术以及如何在实际项目中整合它们。 **Struts2** 是一个基于MVC(Model-View-Controller)设计...

Global site tag (gtag.js) - Google Analytics