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>
分享到:
相关推荐
(struts2 json Ajax 整合所需全部jar包
struts2jsonajax(ext)整合(下载后注意改web名称)
介绍struts、ajax如何返回json数据 一首先引入Struts和json所需的jar包。 二编写页面 三编写action类 四Struts配置
NULL 博文链接:https://huibin.iteye.com/blog/586035
利用AJAX传递JSON数组,后台struts2的action接收。 详细代码简单易懂。
struts2 json jquery ajax实现用户登陆及业面跳转
该资源是使用struts2框架进行操作,返回json格式数据,前台通过ajax提交内容。
json2+jsonplugin struts2整合ajax时,使用json时需要的jar包。。。。。。。。。。。。
关键代码都在里面 资源是工程中的一部分 暂不能运行 原来用的是Java实现Json串 考虑到频繁访问数据库 就改成了存储过程
ajax与struts2,json结合实现异步交互,网页的局部刷新。当初在网上没找到全的,希望这个对刚接触的人有所帮助啊\(^o^)/~
Struts2+JSON_实现AJAX_返回对象和列表
使用Struts2和jQuery EasyUI实现简单CRUD系统,从零开始,从基础的ajax与Struts2的使用json格式进行交互开始。
struts2 + jsonplugin google自动提示 ajax示例
struts2json ajax Demo struts2json ajax Demo
struts2+json+jquery实现ajax数据的存取
json+struts2实现Ajax 新手入门的例子
ajax,struts2,json实现省市区三级联动源码含全国省市区数据库
Struts2+ajax+json返回list,并处理json返回为[object,object]的方法,Struts2配置
struts2下通过jquery的ajax从后台传json对象并展示在web页面上的一个小例子,所需的jar包请自己下载否则无法运行,所需的包包括struts的必须包,json的支持包和struts对json的支持包
Struts2+JSON 实现AJAX 返回对象和列表