当前位置: 首页 > 工具软件 > AjaxTags > 使用案例 >

AjaxTags

桓嘉谊
2023-12-01

AjaxTags的缺点:
AjaxTags只能在J2EE应用环境下使用,不能在其他Web编程脚本语言(如ASP和PHP等)中使用。
AjaxTags的高度封装虽然简化了Ajax的开发,但导致灵活性严重丧失;对于复杂的Ajax交互,使用AjaxTags完成更加烦琐。
AjaxTags对Ajax交互提供了封装,但不像Dojo那样提供了一个调试环境。整个Ajax交互不仅对普通浏览者透明,对于应用开发者也是透明的,调试难度相对较大。

 

下面简单几个常用标签的属性

1、自动完成标签
自动完成功能使用ajax:autocomplete,这个标签有如下几个属性:
var:这是一个可选属性,该属性定义了autocomplete标签创建的JavaScript对象名。通常无须指定该属性。
attachTo:这是一个可选属性,该属性定义了var对应的自动完成对象将应用到的对象。
baseUrl:这是一个必需属性,该属性定义了Ajax请求发送的URL。该属性指定的URL将返回一个典型的AjaxTags所需要的XML响应,响应的每个item节点的name值就是自动完成的提供给用户选择的一项。该属性支持表达式语言。
source:这是一个必需属性,该属性指定的HTML元素的值一旦发生改变,就将发送Ajax请求。通常,该属性的文本将作为自动完成的前缀部分,即source元素指定的HTML元素里的文本将被作为请求参数,伴随着Ajax请求一同发送,一旦该请求参数发送到服务器的baseUrl,baseUrl处的服务器响应将返回一个满足条件的XML响应。当然,也可以指定其他请求参数。
target:这是一个必需属性,该属性指定一个文本框,该文本框将显示自动完成的选择项对应的value。如果用户无须使用额外的文本框来显示value,则可将该参数设置为与source相同。
parameters:这是一个必需属性,该属性指定了Ajax请求的请求参数。
className:这是一个必需属性,该属性指定了自动完成所提供的下拉框的CSS样式单的名字。通常,系统提供该CSS样式单,但用户也可以自定义自己的 CSS样式单。
indicator:这是一个可选属性,该属性指定一个HTML元素,该元素在Ajax请求开始时出现,随着Ajax交互完成而隐藏。该元素可以通知用户Ajax交互的进度。
minimumCharacters:这是一个可选属性,该属性指定自动完成最少所需的字符数。假设source指定一个文本框,如果minimumCharacters的属性值为2,则至少要求source指定的文本框提供两个字符的输入,系统才会提供自动完成功能。
appendSeparator:这是一个可选属性,一旦设置了该属性,target属性指定的文本框的值就不会被覆盖,而是在后面添加上自动完成的value节点的值,添加时将以appendSeparator属性指定的字符串作为分隔符。
preFunction:这是一个可选属性,该属性指定了Ajax交互之前自动执行的函数。
postFunction:这是一个可选属性,该属性指定了Ajax交互完成后自动执行的函数。
errorFunction:这是一个可选属性,该属性指定服务器响应出错时执行的函数。
parser:这是一个可选属性,该属性指定一个服务器响应的解析器,通常无须指定该解析器,除非用户需要自己完成特别的工作。默认的解析器是ResponseHtmlParser。

 

2、area标签
该标签允许在页面中开辟出一个单独区域,而该区域的超链接请求等不会刷新整个页面,而是仅刷新部分内容。

该标签有如下几个属性:
id:这是一个必需属性,该属性指定area的ID,用于唯一标识该area,该属性值将成为area对应的DIV元素的ID属性值。
ajaxFlag:这是一个可选属性,该属性指定该页面的其他部分是否忽略Ajax请求。
style:这是一个可选属性, 用于指定内联的CSS样式。
styleClass:这是一个可选属性,用于指定CSS样式单名。
ajaxAnchors:这是一个可选属性。

 

3、anchors标签
这是一个超链接标签,但该超链接标签与普通的超链接不同,该超链接标签仅刷新页面的局部——即刷新ajax:area标签指定的页面部分。
因此,该标签必须与ajax:area一起使用。
该标签有如下两个属性:
target:这是一个必需属性,该属性指定刷新的ajax:area元素的ID属性。
ajaxFlag:这是一个可选属性,该属性指定页面的其他部分是否忽略Ajax请求。
使用ajax:anchors标签,可以通过页面中的超链接而不是ajax:area中的超链接来控制局部刷新。

 

4、callout标签
该标签是一个服务器提示功能,这个功能以前通常在客户端完成,当用户的鼠标移动到某个产品上面时,该产品上将出现一个提示框,
但这个提示框的信息往往是写在客户端的。通过使用callout标签,可以让服务器响应作为提示框的信息。
该标签支持如下几个属性:
var:这是一个可选属性,该属性定义了autocomplete标签创建的JavaScript对象名。通常无须指定该属性。
attachTo:这是一个可选属性,该属性定义了var对应的自动完成对象将应用到的对象。
baseUrl:这是一个必需属性,该属性定义了Ajax请求发送的URL。该属性指定的URL将返回一个典型的AjaxTags所需要的XML响应,
响应的每个item节点的name值就是自动完成功能提供给用户选择的一项。该属性支持表达式语言。
source:该属性指定哪个HTML元素将触发服务器提示框,即指定哪个HTML元素触发Ajax请求。必须指定source和sourceClass两个属性之一。
sourceClass:该属性指定一类HTML元素将触发服务器提示框,即指定哪些HTML元素是该CSS样式单,这些HTML元素都可以触发Ajax请求。必须指定source和sourceClass两个属性之一。
parameters:伴随Ajax请求发送的请求参数。该属性的值支持一个特殊的变量ajaxParameter,该变量代表发送请求的内容。
title:这是一个可选属性,该属性指定信息提示框的标题。
overlib:这是一个可选属性,该属性指定OverLib库的各种选项。
preFunction:这是一个可选属性,该属性指定了Ajax交互之前自动执行的函数。
postFunction:这是一个可选属性,该属性指定了Ajax交互完成后自动执行的函数。
errorFunction:这是一个可选属性,该属性指定服务器响应出错时执行的函数。
callout标签所需要的XML响应只需要一个item节点,该节点的name节点值将作为提示的标题显示,而value节点值将作为提示的内容显示。

 

5、select标签
它的主要作用是实现级联下拉框效果。所谓级联下拉框,就是根据第一个下拉框选择的值,动态改变第二个下拉框的选项。

select标签有如下几个属性:
var:这是一个可选属性,该属性定义了autocomplete标签创建的JavaScript对象名。通常无须指定该属性。
attachTo:这是一个可选属性,该属性定义了var对应的自动完成对象将应用到的对象。
baseUrl:这是一个必需属性,该属性指定了Ajax请求发送的URL。
source:这是一个必需属性,该属性指定了第一个下拉框的ID属性,当该属性指定的下拉框改变时触发Ajax交互。
target:这是一个必需属性,该属性指定了第二个下拉框的ID属性,当Ajax响应完成后,AjaxTags会根据响应来自动更新该属性指定的下拉框。
parameters:这是一个可选属性,如果需要发送请求参数,则需要使用该属性。
eventType:这是一个可选属性,该属性指定了源对象上触发请求的事件类型。
executeOnLoad:这是一个可选属性。
defaultOptions:这是一个可选属性,该属性是一系列以逗号隔开的值,这些值将总是作为第二个下拉框的默认选项。
preFunction:这是一个可选属性,该属性指定了Ajax交互之前自动执行的函数。
postFunction:这是一个可选属性,该属性指定了Ajax交互完成后自动执行的函数。
errorFunction:这是一个可选属性,该属性指定服务器响应出错时执行的函数。
parser:这是一个可选属性,该属性指定一个服务器响应的解析器。通常无须指定该解析器,除非用户需要自己完成特别的工作。默认的解析器是ResponseHtmlParser。
注意:select标签只能有一个源下拉框和一个目标下拉框。

 

6、Tab页
Tab页的创建依赖于两个标签:tabPanel和tab。tabPanel是一个整体的Tab效果,而每个tab则是该Tab效果里的每个tab页。因此,tabPanel和tab两个标签通常一起使用。
6.1、tabPanel标签包含如下几个属性:
var:这是一个可选属性,该属性定义了autocomplete标签创建的JavaScript对象名。通常无须指定该属性。
attachTo:这是一个可选属性,该属性定义了var对应的自动完成对象将应用到的对象。
panelStyleId:这是一个必需属性,指定Tab页的ID属性值。
contentStyleId:这是一个必需属性,指定Tab页面内容的ID属性值。
panelStyleClass:这是一个可选属性,该属性指定Tab页整体使用的CSS样式单。
contentStyleClass:这是一个可选属性,该属性指定Tab页内容所使用的CSS样式单。
currentStyleClass:这是一个必需属性,该属性指定了激活的Tab页所使用的CSS样式单。
preFunction:这是一个可选属性,该属性指定了Ajax交互之前自动执行的函数。
postFunction :这是一个可选属性,该属性指定了Ajax交互完成后自动执行的函数。
errorFunction:这是一个可选属性,该属性指定服务器响应出错时执行的函数。
parser:这是一个可选属性,该属性指定一个服务器响应的解析器。通常无须指定该解析器,除非用户需要自己完成特别的工作。默认的解析器是ResponseHtmlParser。
6.2、tab标签包含如下几个属性:
baseUrl:这是一个必需属性,该属性指定了Ajax请求发送的URL。
caption:这是一个必需属性,该属性指定了Tab页的标题。
defaultTab:这是一个可选属性,该属性指定页面是否作为Tab效果的初始页。
parameters:这是一个可选属性,如果加载页面时需要发送请求参数,则需要使用该属性。
值得注意的是,tab标签的Ajax响应无须使用XML响应,而应该使用标准的HTML响应,tab标签将该HTML内容直接输出在Tab页中。

 

7、displayTag标签
这个标签需要依赖于Apache组织下的DisplayTag项目,AjaxTags封装了DisplayTag项目,但增加了Ajax引擎,以便能以Ajax的方式来排序、分页。该标签的核心是DisplayTags项目。
AjaxTags中的displayTag标签有如下几个属性:
id:这是一个必需属性,该属性指定了displayTag对应的DIV元素的ID属性值。
ajaxFlag:这是一个可选属性,该属性指定该页面的其他部分是否忽略Ajax请求。
style:内联CSS样式单属性。
styleClass:这是一个可选属性,该属性指定displayTag的CSS样式单属性。
pagelinksClass:这是一个可选属性,该属性指定DisplayTag的分页导航栏的CSS样式。
tableClass:这是一个可选属性,该属性指定DisplayTag的table元素的CSS样式。
columnClass:这是一个可选属性,该属性指定DisplayTag里table中每列的CSS样式。
baseUrl:这是一个可选属性,没有太大的作用。
postFunction:这是一个可选属性,该属性指定了Ajax交互完成后自动执行的函数。
注意,为了使用AjaxTags的displayTag标签,必须先在Web应用中安装DisplayTags项目。

 

8、updateField标签
这个标签实现了一种常用的效果:当一个表单域的输入完成后,其他几个表单域的值根据该表单域的值计算得到。
updateFiled标签有如下几个属性:
var:这是一个可选属性,该属性定义了autocomplete标签创建的JavaScript对象名。通常无须指定该属性。
attachTo:这是一个可选属性,该属性定义了var对应的自动完成对象将应用到的对象。
baseUrl:这是一个必需属性,该属性指定了Ajax请求发送的URL。
source:这是一个必需属性,该属性指定一个表单域,该表单域的值将作为请求参数随Ajax请求向服务器发送。
target:这是一个必需属性,该属性的值以逗号隔开,指定了一系列的表单域,Ajax响应的结果将在这些表单域中输出。
action:这是一个必需属性,该属性指定的HTML元素能触发onclick事件,该事件将触发Ajax交互。
parameters:这是一个可选属性,该属性指定需要发送到服务器端的请求参数。
eventType:这是一个可选属性,该属性指定能触发Ajax请求的事件类型。
preFunction:这是一个可选属性,该属性指定了Ajax交互之前自动执行的函数。
postFunction:这是一个可选属性,该属性指定了Ajax交互完成后自动执行的函数。
errorFunction:这是一个可选属性,该属性指定服务器响应出错时执行的函数。
parser:这是一个可选属性,该属性指定一个服务器响应的解析器,默认采用ResponseHtmlParser解析器;如果使用XML响应,则通常指定为ResponseXmlParser。
值得注意的是,该标签的响应是一个标准的AjaxTags响应,该响应包含的item节点数应与需要动态计算的表单域的数量相等,而且每个item节点的name节点值应与目标表单域的ID属性相同。

 类似资料:

相关阅读

相关文章

相关问答