rich:clientId,rich:component和rich:element之间有什么区别?

时间:2014-02-19 06:17:54

标签: jsf richfaces

我的意思是这三个富有面孔的论点:

#{rich:clientId('id')}
#{rich:element('id')}
#{rich:component('id')}

例如在这些方法中调用(actionListener):

 <a4j:support event="onchange" ajaxSingle="true"
    actionListener="#{Bean.actionReset('#{rich:clientId('id')}')}"              
    oncomplete="jsFunction(this.value).text;" />

1 个答案:

答案 0 :(得分:5)

您可以检查RichFaces的documentation以获得差异:

<强>富:的clientId

  

rich:clientId('id')函数返回相关的客户端标识符   传递的组件标识符('id')。如果是指定的组件   找不到标识符,而是返回null。

示例:您的网页中有一个id="myId"的组件。该组件不在结构的顶层。 rich:clientId(id)将返回生成的组件HTML ID。这可能类似于myForm:myPanel:myId

<强>富:成分

  

rich:component('id')函数相当于   RichFaces。$('clientId')代码。它返回客户端对象实例   基于传递的服务器端组件标识符('id')。如果   找不到指定的组件标识符,而是返回null。   该函数可用于从组件中获取对象以调用a   JavaScript API函数不使用   成分

此方法将返回一个JavaScript对象,您可以在其上调用某些RichFaces函数。这取决于您引用的组件。

<强>富:元素

  

rich:element('id')函数是等效的快捷方式   document.getElementById(#{rich:clientId('id')})代码。它返回   来自客户端的元素,基于传递的服务器端组件   标识符。如果未找到指定的组件标识符,则为null   而是返回。

此方法将返回给定组件ID的HTML dom元素。