1. 功能介绍

    Ajax链接组件,当触发这个链接时,调用一个后台方法,刷新前台某块区域,但是并不提交form表单,目前该组件已不再需要使用,可以通过ajaxDirect,ajaxGet方式替代,请参看ajax操作文档。

  2. 参数说明

    参数名 参数类型 是否必须 默认值 描述
    listener org.apache.tapestry.IactionListener   执行的方法
    loadingElement java.lang.Object     加载部分的id
    parameters java.lang.Object     执行方法传递的参数
    beforeAction java.lang.String     执行方法前执行的javascript方法
    beforeAction java.lang.String     执行方法后执行的javascript方法
    refreshParts java.lang.String     执行方法后刷新的区域,该区域是用part组件定义的
    stateful boolean   默认为true 如果是true,那么组件需要一个active HttpSession才可以使用,否则的话抛出StaleLinkException异常;如果是false,则不需要检查是否有这个session
  3. 代码片段

    1. HTML写法

      1. 定义ajax提交控件

        <a
        	jwcid="@wade:AjaxDirectLink"		//定义控件类型 
        	id="linkExample"					//定义id
        	listener="ognl:listeners.method"	//method为page中的方法
        	parameters="ognl:testList"			//parameters可以是一个String或List
        	refreshParts="refreshArea">		//需要刷新的控件
        </a>
        
      2. 在控件中发出请求

        <select
        	jwcid="@PropertySelection" 
        	model="ognl:selectResult1" 
        	value="ognl:info.state" 
        	desc="状态" 
        	nullable="yes" 
        	onChange="ajaxdo('linkExample','&tt='+getElement('hangye').value)"
        />
        

        说明:
        ajaxdo(para1,para2)
        para1:定义的AjaxDirectLink的ID
        para2:传递的参数 格式为&a1=1&a2=2
      3. 定义ajax刷新区域

        <span jwcid="@wade:Part" id="refreshArea" optimize="true">
        	<input type="type" jwcid="hangye@TextField" value="ognl:testString" raw="true"/>
        	<select jwcid="@PropertySelection" model="ognl:selectResult2" value="ognl:eee" desc="状态" nullable="no"/>
        </span>