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("string","SUCCESS");
return SUCCESS;
}
public HashMap<String, Integer> getDataMap() {
return dataMap;
}
public void setDataMap(HashMap<String, Integer> 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() 方法
Struts2+JSON+AJAX