您的位置:首页 > 编程语言 > Java开发

ajax请求struts2 中的action

2014-05-08 21:49 295 查看
<?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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: