我按照书本写了一个基于Struts2的ajax网页,具体步骤如下:
写一个action: package org.struts2.action;
import com.opensymphony.xwork2.Action;
public class AjaxTestAction implements Action{
private static int count=0; //一个简单的计数器
private String data;
public long getServerTime()
{
return System.currentTimeMillis();
}
public int getCount()
{
return ++count;
}
public String getData()
{
return data;
}
public void setData(String data)
{
this.data=data;
}
@Override
public String execute() throws Exception //直接返回一个页面
{
return SUCCESS;
}
}
struts配置文件,struts.xml:
<action name="ajaxTest" class="org.struts2.action.AjaxTestAction">
<result>/ajaxResult.jsp</result>
</action>
ajaxResult.jsp文件:
<%@page contentType="text/html" pageEncoding="GBK"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%
response.setHeader("Cache-Control", "no-cache"); //HTTP 1.1
response.setHeader("Pragma", "no-cache"); //HTTP 1.0
response.setDateHeader("Expires", 0); //防止代理服务器缓存页面
%>
结果:<s:property value="count"/>@<s:property value="serverTime"/><br>
<s:property value="data"/>
submitTest1.jsp页面:
<%@page contentType="text/html" pageEncoding="GBK"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>JSP Page</title>
<s:head theme="ajax"/>
</head>
<body>
<div id="t1" Style="border:1px solid yellow;">初始的内容</div>
<s:url id="ajaxTest" value="/ajaxTest.action"/>
<img id="indicator" scr="${pageContext.request.contextPath}/image/indicator.gif" alt="Loading..." style="display:none"/>
<s:submit type="submit" theme="ajax" value="更新内容" targets="t1" href="%{ajaxTest}" align="left" indicator="indicator"/>
</body>
</html>
这些是我写的步骤,但是测试时却发现点击“更新内容”按钮毫无反应,web.xml都是基本配置,将ajaxResult.jsp加上html标签在浏览器中查看发现能正常获取内容,另外图片地址也正确。可就是没反应,到底什么原因啊?