⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 a4j+user+guide.htm

📁 程序包
💻 HTM
📖 第 1 页 / 共 5 页
字号:
    </PRE></DIV>
<DIV class=section lang=en>
<DIV class=titlepage>
<DIV>
<DIV>
<H2 class=title style="CLEAR: both"><A name=d0e447></A><B 
style="COLOR: black; BACKGROUND-COLOR: #ffff66">a4j</B>:support</H2></DIV></DIV></DIV>
<P>在 UIComponent-based组件上添加ajax功能,使他们有JavaScript事件属性. 
在解码期间:如果一个请求为Ajax-performed, 从ExternalContext 
中的requestParameterMap属性中得到Map,如果该Map中"clientId" key对应的值非空,在组件上创建一个 
javax.faces.event.ActionEvent, 
并且传递该事件到该组件的queueEvent()中,然后把他的reReander区域中的组件id添加到reReander属性中.在编码过程中.不编码一个组件. 
相反的,在父组件上添加一个与事件属性的值相同的值绑定(Instead, it adds ValueBinding for a property of the 
parent component with the name as a value of its "event" 
property).结果,当呈现时,父组件创建一个在提交一个ajax请求时用到的JS代码.如果该组件有子UIParameter组件,添加他的name/value作为附加的请求参数.如果父组件是一个UIInput的实例,并且ajaxType属性是input, 
则也提交input 域中的值. 在这种情况下,你可以在UIForm外面提交一个单一的input域. (As a result, when rendered, 
the parent component builds JavaScript code for submitting an AJAX request on 
this event. If the component has child UIParameter components, appends it's 
name/value as additional request parameters. If a parent component is an 
instance of UIInput and the ajaxType property is "input", submits the value of 
the input field, also. In this case, you can submit a single input field outside 
of UIForm.)</P>
<DIV class=table><A name=d0e452></A>
<P class=title><B>Table&nbsp;4.4.&nbsp;<B 
style="COLOR: black; BACKGROUND-COLOR: #ffff66">a4j</B>:support 属性</B></P>
<DIV class=table-contents>
<TABLE summary="a4j:support attributes" border=1>
  <TBODY>
  <TR>
    <TD>actionListener</TD>
    <TD>方法绑定,当该组件被ajax请求激活时,将调用该监听器方法处理该事件.该方法必须为public的并且接受一个 AjaxEvent 
      参数,返回void.</TD></TR>
  <TR>
    <TD>parentProperties</TD>
    <TD>parentProperties</TD></TR>
  <TR>
    <TD>action</TD>
    <TD>方法绑定到要被激活的程序动作方法, 如果该 UIComponent 被用户激活, 根据immediate属性的值,方法在 
      请求处理生命周期中的Apply Request Values 或者 Invoke Application 阶段 被调用.</TD></TR>
  <TR>
    <TD>oncomplete</TD>
    <TD>&nbsp;在客户端请求完成时调用的js代码</TD></TR>
  <TR>
    <TD>rendered</TD>
    <TD>如果为false,该组件将不会被显示.</TD></TR>
  <TR>
    <TD>status</TD>
    <TD>Request status 组件的id(在 UIComopnent.findComponent()中使用)</TD></TR>
  <TR>
    <TD>reRender</TD>
    <TD>该组件调用Ajax请求后重新渲染的组件的ID(在 
      UIComopnent.findComponent()中使用),可以使一个id,也可以使逗号分开的很多id,或者是数据or集合的EL表达式 
  </TD></TR>
  <TR>
    <TD>targetId</TD>
    <TD>reRender的别名 : 该组件调用Ajax请求后重新渲染的组件的ID(在 
      UIComopnent.findComponent()中使用),可以使一个id,也可以使逗号分开的很多id,或者是数据or集合的EL表达式</TD></TR>
  <TR>
    <TD>id</TD>
    <TD>每个组件都应该有个唯一的id. 如果没有指定的话,将会自动产生.</TD></TR>
  <TR>
    <TD>disableDefault</TD>
    <TD>使目标事件的动作不可用 ( 在javascript代码中添加 "return false;" )</TD></TR>
  <TR>
    <TD>requestDelay</TD>
    <TD>在JS事件上延迟 ( 单位 ms. )发送Ajax请求.与事件队列公共工作可以减少键盘或者鼠标移动触发请求的次数</TD></TR>
  <TR>
    <TD>eventsQueue</TD>
    <TD>用来避免在同一个事件上的重复请求的队列的名字.可以用来减少周期事件(如:按键,鼠标移动)请求的次数.</TD></TR>
  <TR>
    <TD>bypassUpdates</TD>
    <TD>如果使true,在处理验证阶段后跳过更新模型值阶段到呈现阶段.可以用来验证组件的输入值.</TD></TR>
  <TR>
    <TD height=45>immediate</TD>
    <TD 
      height=45>如果该组件被Ajax请求激活的话,标记该组件应该立即(在应用请求值阶段)被感兴趣的监听器和动作处理,而不是等到调用应用程序阶段.(译者注:该标记和JSF中的immediate标记所代表的意思差不多,跳过验证阶段到呈现响应阶段)</TD></TR>
  <TR>
    <TD>limitToList</TD>
    <TD>如果为true,仅仅更新'reRender'属性中指定的组件,否则(默认值)更新所有Ajax Region中的组件</TD></TR>
  <TR>
    <TD>ajaxSingle</TD>
    <TD>如果为 true , 仅仅提交一个field/link,而不是整个form中的内容.</TD></TR>
  <TR>
    <TD>event</TD>
    <TD>&nbsp;父组件的JS事件属性的名称 ( onclick , onchange, etc. ) , for which we will 
      build AJAX submission code.</TD></TR>
  <TR>
    <TD>binding</TD>
    <TD>组件绑定.</TD></TR></TBODY></TABLE></DIV></DIV><BR class=table-break>
<P>&nbsp;</P>
<P>所有你需要指定的东西 - 父组件用来触发ajax请求的<FONT color=#ff00ff>事件</FONT>和被reRender的<FONT 
color=#ff00ff>区域</FONT>, 和处理事件的Java bean<FONT color=#ff00ff>方法</FONT>.</P><PRE class=programlisting>    &lt;<B style="COLOR: black; BACKGROUND-COLOR: #ffff66">a4j</B>:region selfRendered="true"&gt;
        &lt;h:selectBooleanCheckbox value="#{pizza.tip}"&gt;
            &lt;<B style="COLOR: black; BACKGROUND-COLOR: #ffff66">a4j</B>:support <FONT color=#ff00ff>event="change" reRender="#{partsId.list}"
            action="#{Some.show_hide}"</FONT>/&gt;
        &lt;/h:selectBooleanCheckbox&gt;
    &lt;/<B style="COLOR: black; BACKGROUND-COLOR: #ffff66">a4j</B>:region&gt;
        </PRE>
<P>因此,在上面的例子中,checkbox状态的改变将提交当前的区域. 'show_hide'动作将被调用,并且 'list'中的id所指定的组件将被更新. 
</P></DIV>
<DIV class=section lang=en>
<DIV class=titlepage>
<DIV>
<DIV>
<H2 class=title style="CLEAR: both"><A name=d0e553></A><B 
style="COLOR: black; BACKGROUND-COLOR: #ffff66">a4j</B>:commandLink</H2></DIV></DIV></DIV>
<P>呈现一个Html &lt;a&gt; 元素,当点击时的动作就象一个form提交一样.</P>
<P>在解码的过程中:</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp; 
从ExternalContext的属性requestParameterMap中得到一个Map,如果该Map中包含"clientId" key的非空值, 
在组件上创建一个 javax.faces.event.ActionEvent 事件,并且传递该事件给组件的queueEvent() 
方法.如果该请求是Ajax-performed,把reRander属性中的IDs值添加到嵌套的AjaxContainer的 rendered areas 
list中 ,在解码的过程中也添加组件的参数(PARAM_NAME 和 PARAM_VALUE 是任何嵌套的子UIParameter的names 和 
values .) names 和 
values必须是被URLEncoded处理过的.如果styleClass属性被指定了,呈现它的值为html中的class属性的值. 
呈现任何non-UIParameter子组件为&lt;a&gt;的相应的子组件. 这些看起来就像一个Link文本.</P>
<DIV class=table><A name=d0e558></A>
<P class=title><B>Table&nbsp;4.5.&nbsp;<B 
style="COLOR: black; BACKGROUND-COLOR: #ffff66">a4j</B>:commandLink 
attributes</B></P>
<DIV class=table-contents>
<TABLE summary="a4j:commandLink attributes" border=1>
  <TBODY>
  <TR>
    <TD>actionListener</TD>
    <TD>方法绑定,当该组件被ajax请求激活时,将调用该监听器方法处理该事件.该方法必须为public的并且接受一个 AjaxEvent 
      参数,返回void.</TD></TR>
  <TR>
    <TD>title</TD>
    <TD>该组件产生的标记元素的提示文字(当鼠标移动到该组件上面出现的提示文字)</TD></TR>
  <TR>
    <TD>oncomplete</TD>
    <TD>在客户端请求完成时调用的js代码</TD></TR>
  <TR>
    <TD>shape</TD>
    <TD>default|rect|circle|poly [CI] 该属性指定一个区域的形状.可能的取值: * default: 指定整个区域. * 
      rect:指定一个矩形区域. * circle: 定义一个圆形区域. * poly: 定义一个多边形区域.</TD></TR>
  <TR>
    <TD>target</TD>
    <TD>&nbsp;</TD></TR>
  <TR>
    <TD>rendered</TD>
    <TD>如果为false,该组件将不会被显示.</TD></TR>
  <TR>
    <TD>charset</TD>
    <TD>该属性指定了通过链接指派的资源的字符编码.</TD></TR>
  <TR>
    <TD>reRender</TD>
    <TD>该组件调用Ajax请求后重新渲染的组件的ID(在 
      UIComopnent.findComponent()中使用),可以使一个id,也可以使逗号分开的很多id,或者是数据or集合的EL表达式</TD></TR>
  <TR>
    <TD>targetId</TD>
    <TD>Alias for reRender : 该组件调用Ajax请求后重新渲染的组件的ID(在 
      UIComopnent.findComponent()中使用),可以使一个id,也可以使逗号分开的很多id,或者是数据or集合的EL表达式</TD></TR>
  <TR>
    <TD>id</TD>
    <TD>每个组件都应该有个唯一的id. 如果没有指定的话,将会自动产生.</TD></TR>
  <TR>
    <TD>dir</TD>
    <TD>文本方向.</TD></TR>
  <TR>
    <TD>rev</TD>
    <TD>该属性用来描述从通过 href 属性指定的锚点到当前文档的反向链接。该属性值是通过空格分隔的 link 
    类型(值)的列表。<BR>&nbsp;</TD></TR>
  <TR>
    <TD>bypassUpdates</TD>
    <TD>如果使true,在处理验证阶段后跳过更新模型值阶段到呈现阶段.可以用来验证组件的输入值.</TD></TR>
  <TR>
    <TD>styleClass</TD>
    <TD>和HTML的class属性一样.</TD></TR>
  <TR>
    <TD>accesskey</TD>
    <TD>触发该组件的快捷键</TD></TR>
  <TR>
    <TD>limitToList</TD>
    <TD>如果为true,仅仅更新'reRender'属性中指定的组件,否则(默认值)更新所有Ajax Region中的组件</TD></TR>
  <TR>
    <TD>onkeypress</TD>
    <TD>键盘事件,键被按下和松开</TD></TR>
  <TR>
    <TD>ajaxSingle</TD>
    <TD>如果使true,仅仅提交一个field/link,而不是所有被控制的</TD></TR>
  <TR>
    <TD>ondblclick</TD>
    <TD>HTML: 双击事件</TD></TR>
  <TR>
    <TD>style</TD>
    <TD>HTML: 应用在该组件上的CSS.</TD></TR>
  <TR>
    <TD>onblur</TD>
    <TD>当元素失去焦点时发生的事件</TD></TR>
  <TR>
    <TD>onmouseover</TD>
    <TD>当滑鼠移动到组件上方时<BR>&nbsp;</TD></TR>
  <TR>
    <TD>onkeyup</TD>
    <TD>当使用者按下并放开按键</TD></TR>
  <TR>
    <TD>value</TD>
    <TD>该组件的当前值</TD></TR>
  <TR>
    <TD>action</TD>
    <TD>方法绑定到要被激活的程序动作方法, 如果该 UIComponent 被用户激活, 根据immediate属性的值,方法在 
      请求处理生命周期中的Apply Request Values 或者 Invoke Application 阶段 被调用.</TD></TR>
  <TR>
    <TD>tabindex</TD>
    <TD>设置不同元素之间获得焦点的顺序</TD></TR>
  <TR>
    <TD>hreflang</TD>
    <TD>该属性指定了通过 href 指派的资源的基本语言,并且仅在 href 被指定的情况下使用(也就是说如果 A 中没有指定 href 
      属性,就不应该出现 hreflang 属性)。</TD></TR>
  <TR>
    <TD>type</TD>
    <TD>该属性指定链接资源所采用的内容类型。(译者注:例如网页通常为 text/html)</TD></TR>
  <TR>
    <TD>lang</TD>
    <TD>产生该组件标记所使用的语言</TD></TR>
  <TR>
    <TD>onclick</TD>
    <TD>当鼠标点击时发生的事件 <BR>&nbsp;</TD></TR>
  <TR>
    <TD>status</TD>
    <TD>请求状态组件的ID(在UIComopnent.findComponent()中使用)</TD></TR>
  <TR>
    <TD>onmouseout</TD>
    <TD>鼠标光标移开元素时发生的事件</TD></TR>
  <TR>
    <TD>onkeydown</TD>
    <TD>键按下时发生的事件</TD></TR>
  <TR>
    <TD>onmousedown</TD>
    <TD>按下鼠标按键时发生的事件</TD></TR>
  <TR>
    <TD>requestDelay</TD>
    <TD>在JS事件上延迟 ( 单位 ms. )发送Ajax请求.与事件队列公共工作可以减少键盘或者鼠标移动触发请求的次数</TD></TR>
  <TR>
    <TD>eventsQueue</TD>
    <TD>用来避免在同一个事件上的重复请求的队列的名字.可以用来减少周期事件(如:按键,鼠标移动)请求的次数.</TD></TR>
  <TR>
    <TD>rel</TD>
    <TD>该属性描述了从当前文档到通过 href 属性定义的锚点之间的关系。该属性值是通过空格分隔的 link 类型(值)的列表(译者注:在 Web 
      标准开发中,这个通常用来代替 target 属性,配合脚本,用来表示目的窗口)。</TD></TR>
  <TR>
    <TD>immediate</TD>
    <TD>如果该组件被Ajax请求激活的话,标记该组件应该立即(在应用请求值阶段)被感兴趣的监听器和动作处理,而不是等到调用应用程序阶段.(译者注:该标记和JSF中的immediate标记所代表的意思差不多,跳过验证阶段到呈现响应阶段)</TD></TR>
  <TR>
    <TD>onfocus</TD>
    <TD>使用在表单元素中,当元素获得焦点时发生的事件</TD></TR>
  <TR>
    <TD>onmouseup</TD>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -