Hi<br><br>I committed an implementation of this tag on myfaces. I have one question: why does not exists a class called javax.faces.view.ClientBehaviorAttachedObjectTarget? I had to add some code on vld.retargetAttachedObjects() to make this tag work when nested composite components are used. Really BehaviorHolderAttachedObjectTarget has a method called isDefaultEvent() but in my opinion it looks better to have a ClientBehaviorAttachedObjectTarget interface with two methods: isDefaultEvent() and getEvent().<br>
<br>regards,<br><br>Leonardo Uribe<br><br><div class="gmail_quote">2010/5/10 Roger Kitain <span dir="ltr">&lt;<a href="mailto:roger.kitain@oracle.com">roger.kitain@oracle.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">



  

<div bgcolor="#ffffff" text="#000000">
Filed as:
<a href="https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=791" target="_blank">https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=791</a><div class="im"><br>
<br>
-roger<br>
<br>
<br>
On 5/3/10 2:31 PM, David Geary wrote:
</div><div><div></div><div class="h5"><blockquote type="cite">
  
There is a &lt;composite:clientBehavior&gt; tag in the 2.0 version of
JSF that comes with GlassFish, and it appears to work as advertised by
Alexandr and Andy below.
  <div><br>
  </div>
  <div>But, as Alexandr points out, it’s not documented in the PDL
docs, nor could I find any mention of it in the spec (or Ed’s book,
either).</div>
  <div><br>
  </div>
  <div>This is a vital tag that lets page authors attach ajax
functionality to components within composite components. I see no
reason why it should not be documented.</div>
  <div><br>
  </div>
  <div>Does anyone know why this tag was not documented in the first
place, or what the plans are for its future? Anyone know if it works
with MyFaces 2.0?</div>
  <div><br>
  </div>
  <div>If there’s not a compelling reason for blacklisting it from the
docs, can we document it?</div>
  <div><br>
  </div>
  <div>Thanks,</div>
  <div><br>
  </div>
  <div><br>
  </div>
  <div>david<br>
  <div><br>
  </div>
  <div><br>
  <br>
  <div>2009/5/26 Alexandr Smirnov <span>&lt;<a href="mailto:asmirnov@exadel.com" target="_blank">asmirnov@exadel.com</a>&gt;</span><br>
  <blockquote>Sure, the composite client event tags are not included in
the PDL doc.<br>
There is one            &lt;composite:clientBehavior&gt; tag with
attributes: &#39;name&#39; -<br>
the virtual event name that composite component has.<br>
&#39;default&#39; &quot;true/false&quot; defines the default event that is enclosed<br>
&lt;f:ajax&gt; tag serves if &#39;event&#39; attribute was omited.<br>
&#39;event&#39; - the real event name for target component.<br>
&#39;targets&#39; - space-delimited list of component id&#39;s for which composite<br>
component behavior or &lt;f:ajax&gt; tag will be redirected.<br>
    <br>
The model with &#39;for&#39; attribute was the first implementation but it was<br>
replaced wit &#39;virtual&#39; event model.<br>
    <div>
    <div><br>
Andy Schwartz wrote:<br>
&gt; David -<br>
&gt;<br>
&gt; David Geary wrote On 5/24/2009 5:55 PM ET:<br>
&gt;&gt; For JSF 2, we added a &quot;for&quot; attribute to f:actionListener,<br>
&gt;&gt; f:converter, etc., but we don&#39;t have a &quot;for&quot; attribute for
&lt;f:ajax&gt;.<br>
&gt;&gt; AFAICT, that means that although you can attach listeners,
validators,<br>
&gt;&gt; converters, etc. to a component contained in a composite
component,<br>
&gt;&gt; you cannot attach Ajax functionality.<br>
&gt;&gt;<br>
&gt;&gt; Why is that? Is it an oversight, or is there some compelling
technical<br>
&gt;&gt; reason to disallow adding Ajax behavior to components
contained in<br>
&gt;&gt; composites?<br>
&gt;<br>
&gt; We definitely intended to support this, though instead of exposing
a<br>
&gt; &quot;for&quot; attribute on &lt;f:ajax&gt;, we wanted to leverage the fact
that<br>
&gt; behaviors already have a targeting mechanism in the &quot;event&quot; name.
 The<br>
&gt; idea was that a composite component would, like any other<br>
&gt; ClientBehaviorHolder, expose a set of logical event names that
behaviors<br>
&gt; can be attached to.  So, for example, assuming a composite
component<br>
&gt; included &quot;OK&quot; and &quot;Cancel&quot; buttons and wanted to allow the user to<br>
&gt; attach action behaviors to these, the composite component might
surface<br>
&gt; &quot;okAction&quot; and &quot;cancelAction&quot; event names, allowing the page
author to do:<br>
&gt;<br>
&gt;  &lt;foo:someComposite&gt;<br>
&gt;    &lt;f:ajax event=&quot;okAction&quot;/&gt;<br>
&gt;    &lt;f:ajax event=&quot;cancelAction&quot;/&gt;<br>
&gt;  &lt;/foo:someComposite&gt;<br>
&gt;<br>
&gt; I know that Alexander did the implementation work to get this up
and<br>
&gt; running.  However, I do not see any pdldoc for the composite tag
that<br>
&gt; the composite component author uses to specify the supported client<br>
&gt; behavior event names (composite:clientBehavior I believe).<br>
&gt;<br>
&gt; Alex, Roger -<br>
&gt;<br>
&gt; Did this make it into 2.0?<br>
&gt;<br>
&gt; Andy<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; Thanks,<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; david<br>
    </div>
    </div>
  </blockquote>
  </div>
  <br>
  </div>
  </div>
</blockquote>
<br>
<br>
</div></div><div class="im"><pre cols="72">-- 
<a href="mailto:roger.kitain@oracle.com" target="_blank">roger.kitain@oracle.com</a>
<a href="https://twitter.com/rogerk09" target="_blank">https://twitter.com/rogerk09</a>
<a href="http://www.java.net/blogs/rogerk" target="_blank">http://www.java.net/blogs/rogerk</a>  

</pre>
</div></div>

</blockquote></div><br>