<?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> <package name="default" namespace="" extends="struts-default"> <action name="testAction" class="com.icreate.service.testAction"> <result name="success">/index.jsp</result> </action> </package> <package name="ajaxDemo" namespace="" extends="json-default"> <action name="tAjax" class="com.icreate.service.tAjax" method="loadData"> <result name="success" type="json">/index.jsp</result> </action> </package> </struts>
这是struts.xml文件
中间遇到了一个问题,就是两个package 的name要不一样,因为后面的extends属性值不同,看上面代码,还有namespace,这几个值经常出错,特别要引起注意
还有一点 ,记得导入包struts2-json-plugin-2.3.16.1.jar,
下面是js代码
var xmlhttp; function getData() { alert("草"); if(window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=myfunc; xmlhttp.open("GET","tAjax",true); xmlhttp.send(); } function myfunc(){ if(xmlhttp.readyState==4&&xmlhttp.status==200) { alert("完成请求:"+xmlhttp.responseText); } if(xmlhttp.readyState==1) { alert("建立连接"); } if(xmlhttp.readyState==2) { alert("接收请求"); } if(xmlhttp.readyState==3) { alert("处理请求中"); } }
后台代码
package com.icreate.service; import com.opensymphony.xwork2.ActionSupport; public class tAjax extends ActionSupport{ /** * */ private static final long serialVersionUID = 1L; private String name=null; public void setName(String name){ this.name="hello"; } public String getName(){ return this.name; } public String loadData(){ setName(""); return SUCCESS; } }原文链接:https://www.f2er.com/ajax/164928.html