文档库 最新最全的文档下载
当前位置:文档库 › Struts2的AJax标签

Struts2的AJax标签

Struts2的AJax标签
Struts2的AJax标签

11.6 常用的Ajax标签

struts2为了简化Ajax过程,提供了一些常用的Ajax标签。可以满足一般的Ajax需求,对于一些更为复杂的Ajax通信过程,我们可以使用后加的JSON插件来实现。

11.6.1 div标签

div标签在页面上生成一个Div元素,但这个Div元素的内容不是静态内容,而是从服务器获取的内容。为了让该div标签能取得服务器的数据,必须为该div标签指定一个(1)href属性,这个属性必须是一个Action,该Action负责生成该Div元素的内容。

---------------------------------------------------------------------------------------------------------------------------------------------

提示:因为div标签是一个Ajax标签,因此应为该标签增加theme=“ajax”属性。

---------------------------------------------------------------------------------------------------------------------------------------------

还可以指定该div标签生成的Div元素以固定的频率来更新自身的内容,为了指定更新频率和更新延迟,可以指定如下两个属性:

(2) updateFreq:指定更新Div内容的时间间隔,单位是ms。如果不指定该属性,则只在页面加载时更新该Div的内容。

(3)delay:指定更新Div内容的时间延迟,单位是ms。如果不指定,且指定了updateFreq 属性,则页面加载后立即开始计时,准备刷新该Div的内容。如果没有指定updateFreq属性,则该属性没有任何意义。

如果服务器的响应包含了JavaScript代码,且希望在本页面内执行服务器响应的JavaScript 代码,则可以为该div标签指定(4)executeScripts=“true”。

看下面的页面代码:

<%@ page contentType="text/html;charset=GBK" language="java" %>

< %@ taglib prefix="s" uri="/struts-tags" %>

< html>

< head>

< title>远程Div

< s:head theme="ajax" />

< /head>

< body>

仅一次获取服务器内容的Div

theme="ajax"

cssStyle="border:lpx solid black; background-color:#dddddd;

width:3000px;height:40px;padding-top:8px;padding-left:20px"

href="%{rd} " >

初始化文本

动态更新内容的Div,每隔1s刷新一次(通过指定updateFreq=“1000”)

theme="ajax"

cssStyle="border:lpx solid black; background-color:#dddddd;

width:3000px;height:40px;padding-top:8px;padding-left:20px"

href="%{rd} "

updateFreq=“1000”

indicator=“indicator”>

初始化文本

alt="Loading... style="display:none"/>< br>

3s之后才开始更新(通过指定delay="3000")

指定与服务器互交出错的提示(通过指定errorText属性)

指定与服务器互交过程中的提示(通过指定loadText属性)

theme="ajax"

cssStyle="border:lpx solid black; background-color:#dddddd;

width:3000px;height:40px;padding-top:8px;padding-left:20px"

href="%{rd} "

updateFreq="1000"

delay ="3000"

errorText ="加载服务器数据出错"

loadingText="正在加载服务器内容">

初始化文本

指定显示系统出错提示(通过指定showErrorTransportText="true")

theme="ajax"

cssStyle="border:lpx solid black; background-color:#dddddd;

width:3000px;height:40px;padding-top:8px;padding-left:20px"

href="/AjaxNoUrl.jsp"

updateFreq="1000"

showErrorTransportText="true"

loadingText="正在加载服务器内容">

初始化文本

执行服务器脚本(通过指定executeScripts="true")

theme="ajax"

cssStyle="border:lpx solid black; background-color:#dddddd;

width:3000px;height:40px;padding-top:8px;padding-left:20px"

href=”%{test}“

updateFreq=”2000“

executeScripts=”true“

loadingText=”正在加载服务器内容“>

初始化文本

< /body>

< /html>

上面的div标签还使用了如下两个Ajax标签的通用属性:

(1)showErrorTransportText:设置是否显示服务器的错误信息。

(2)loadingText:设置当服务器响应还未加载时的显示信息。

上面div标签请求的第一个Aciton是rando.action,该Action对应的的JSP页面代码如下://输出一个服务器端的随机数字

服务器返回的随机数字是:

第二个Action是Test3.action,这个Action对应的JSP页面代码如下:

< script language="JavaScript" type="text/javascript">

alert('Spring2.0宝典');

< /script>

//输入页面内容

轻量级J2EE企业应用实战