<?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;
}
}