Struts2+JSON+AJAX

最近做物联网大作业,花了一下午时间简单看了一下JSON数据,把他用在了项目上,还顺带学了一下JQuery的AJAX,终于有时间整理一下了。

JSON和Struts2所需要的包

一下这些jar包中,除了“struts2-json-plugin-2.3.16.1.jar”之外,全部都是json-lib要求的。其余的包都可以在Struts2压缩包中的Lib文件夹下面找到,可当前Struts2版本是兼容的。
json-lib-2.4-jdk15.jar
struts2-json-plugin-2.3.16.1.jar
commons-lang-2.5.jar
commons-beanutils-1.9.2.jar
commons-collections-3.2.1.jar
commons-logging-1.1.3.jar
ezmorph-1.0.6.jar
另外,Struts2的最少依赖包可以在/apps/struts2-blank.war中找到。

struts.xml文件配置

[xml]
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<package name="default" namespace="/" extends="json-default"> //json-default包继承于struts-default
<global-results>
<result name="error">/error.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping exception="java.lang.Exception" result="error" />
</global-exception-mappings>
<action name="temp" method="getJosn" class="com.zscself.action.GetJsonAction">
<result type="json"> //声明返回的数据类型
<param name="root">dataMap</param> //root属性,指定转换成json类型的变量
</result>
</action>
</package>
</struts>
[/xml]

action文件,GetJsonAction.java

[java]
package com.zscself.action;

import java.util.HashMap;
import com.opensymphony.xwork2.Action;

public class GetJson implements Action{
private HashMap<String, String> dataMap = new HashMap<String, String>();

public String execute() throws Exception {
    // TODO 自动生成的方法存根
    return null;
}

public String getJosnOfTem(){
    dataMap.put(&quot;string&quot;,&quot;SUCCESS&quot;);
    return SUCCESS;
}

public HashMap&lt;String, Integer&gt; getDataMap() {
    return dataMap;
}

public void setDataMap(HashMap&lt;String, Integer&gt; dataMap) {
    this.dataMap = dataMap;
}

}
[/java]

js,需要JQuery。

[js]
function GetData() {
$.ajaxSetup({
cache : false
});
$.ajax({
url : "getJson", //action的链接,注意大小写
dataType : "json", //返回数据的数据类型
success : update, //成功后调用的函数
error : function() {
setTimeout(GetData, 1000);
}
//失败后调用的函数,可以是匿名函数
});
}

function update(_data) {
var s;
s = _data.string;
alert(s);
}

GetData();
[/js]

Struts2+Jquery实现ajax并返回json类型数据
Struts2 + JQuery + JSON实现AJAX
Struts2+Jquery+Ajax+Json
jQuery ajax - ajax() 方法

作者

F!redent

发布于

2015-06-15

更新于

2024-01-30

许可协议

CC BY-NC-SA 4.0

评论