1.<script type="text/javascript" src="../../js/jquery-1.3.2.js"></script>
<script type="text/javascript" src="../../js/jquery.json.js"></script>
<h1>jquery json action</h1>
<script type="text/javascript">
(function(){
var jsondata = {};
jsondata['tName'] = 'jacktian';
jsondata['tPassword'] = 'xyq123';
var data = {tUser: $.toJSON(jsondata)};
//alert(data.toString());
var sUrl = "${pageContext.request.contextPath}/ajax/JsonToActionAndBack_submit.action";
//var url = '<%=request.getContextPath() %>'+'/ajax/JsonToActionAndBack_submit.action';
//alert('sUrl:'+sUrl+' url:'+url);
$.ajax({ url : sUrl, dataType : 'json', type: 'POST', data : data, success : function(json){
if(json['status'] == 'S'){
alert('SUCCESS');
}else{
alert('SERVER ERROR!');
}
},error:function(){
alert("ERROR");
}});
})();
</script>
2.struts.xml
<package name="ajax" namespace="/ajax" extends="struts-default">
<action name="JsonToActionAndBack_*" class="com.tian.web.action.JsonToActionAndBack" method="{1}">
<result name="success">/pages/test/showBooks.jsp</result>
</action>
</package>
3.
package com.tian.web.action;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import com.opensymphony.xwork2.Action;
public class JsonToActionAndBack implements Action,ServletRequestAware,ServletResponseAware{
class TUser{
private String tName;
private String tPassword;
public String gettName() {
return tName;
}
public void settName(String tName) {
this.tName = tName;
}
public String gettPassword() {
return tPassword;
}
public void settPassword(String tPassword) {
this.tPassword = tPassword;
}
}
private String tUser;
protected HttpServletRequest request;
protected HttpServletResponse response;
@Override
public String execute() throws Exception {
return null;
}
public String submit(){
System.out.println("json to action and back");
try {
response.getWriter().println("{/"status/" : /"S/"}");
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public String gettUser() {
return tUser;
}
public void settUser(String tUser) {
this.tUser = tUser;
}
@Override
public void setServletRequest(HttpServletRequest arg0) {
this.request = arg0;
}
@Override
public void setServletResponse(HttpServletResponse arg0) {
this.response = arg0;
}
}