<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Tracking at:<br>
<a class="moz-txt-link-freetext" href="https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=874">https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=874</a><br>
<br>
-roger<br>
<br>
On 8/4/10 5:08 AM, Werner Punz wrote:
<blockquote
cite="mid:AANLkTi=TeKOG2n_2UuAU0cVij9PSFnR-DsH0j05gqG5S@mail.gmail.com"
type="cite">
<meta http-equiv="Context-Type"
content="text/html; charset=ISO-8859-1">
Hi,<br>
I just did some further digging around in the code specially since I am
currently doing some optimisation stuff in that area in myfaces. And I
came to the conclusion that Mojarras behavior breaks the spec.<br>
<br>
The reason. The spec itself leaves it open, but we have an implicit
@this parameter which can be set both in execute and in render<br>
and if this @this parameter is set then the issuing client id has to be
set in the list where it is set.<br>
So the spec clearly states here that @this is a placeholder for the
executing element. If is allowed in exec, appending automatically the
issuing client id is pointless.<br>
<br>
Werner<br>
<br>
<br>
<div>On Wed, Aug 4, 2010 at 9:31 AM, Martin Marinschek <span><<a
moz-do-not-send="true" href="mailto:mmarinschek@apache.org">mmarinschek@apache.org</a>></span>
wrote:<br>
<blockquote>Hi Werner,<br>
<br>
I think some clarification would certainly be good there (especially<br>
as the language doesn't really say what client identifiers should be<br>
present, plus once talks about client identifiers, and once about<br>
identifiers only). My POV: for now, Mojarra and MyFaces should behave<br>
the same. The sentence following the one that you highlighted in bold:<br>
<br>
"...with the name javax.faces.partial.execute and the value as the<br>
identifier of the element that caused this request..."<br>
<br>
indicates to me that the triggering client id should be there.<br>
<br>
best regards,<br>
<br>
Martin<br>
<div>
<div><br>
On 8/3/10, Werner Punz <<a moz-do-not-send="true"
href="mailto:werner.punz@gmail.com">werner.punz@gmail.com</a>>
wrote:<br>
> Hello while doing another round of testing and optimisations I
noticed a<br>
> slight difference in the implementations of the request of mojarra
and<br>
> myfaces which opened an area where the spec probably is unclear:<br>
><br>
> Following case:<br>
><br>
> <h:panelGroup id="bla"><br>
><br>
> <h:inputText id="inputbla"<br>
> value="#{myBean2.searchTerm}" /><br>
><br>
> <h:commandLink value="Press me for more
action"<br>
> action="#{myBean2.doSearch}"><br>
> <f:ajax execute="bla"
render="content"/><br>
> </h:commandLink><br>
> </h:panelGroup><br>
><br>
> now results in following post data:<br>
><br>
> Mojarra:<br>
><br>
> form2 form2<br>
> form2:inputbla<br>
> javax.faces.ViewState 6697453697014869722:-1090088301633916042<br>
> javax.faces.behavior.even... action<br>
> javax.faces.partial.ajax true<br>
> javax.faces.partial.event click<br>
> javax.faces.partial.execu... form2:j_idt8 form2:bla<br>
> javax.faces.partial.rende... form2:content<br>
> javax.faces.source form2:j_idt8<br>
><br>
><br>
> in myfaces<br>
> form2:inputbla<br>
> form2_SUBMIT 1<br>
> javax.faces.ViewState
EmWJgKYkJoTEWDCzpUwZQR3Ek94rGnxK1V6NEZgO6yDgPANeOc1wplJjDYezu2cx9aQ7ZSKNPyGY<br>
> L8P9y5DwH2codFvGPjklD04wuxG4XXTPutNww3pdzIsMkw0=<br>
> javax.faces.behavior.even... action<br>
> javax.faces.partial.ajax true<br>
> javax.faces.partial.event click<br>
> javax.faces.partial.execu... form2:bla<br>
> javax.faces.partial.rende... form2:content<br>
> javax.faces.source form2:j_id1980473354_760ba132<br>
><br>
><br>
><br>
> While most of the differeing data is mostly implementation
specific and<br>
> therefor it is not that interesting following is:<br>
><br>
> javax.faces.partial.execu... form2:j_idt8 form2:bla<br>
><br>
><br>
> compared to<br>
><br>
> javax.faces.partial.execu... form2:bla<br>
><br>
><br>
> Now the difference is that Mojarra adds the executing element as
it seems<br>
> while MyFaces does not.<br>
> The second interesting fact is following definition from the spec:<br>
><br>
><br>
> - Determine additional arguments (if any) from the options
argument. If<br>
> options.execute exists:<br>
> - If the keyword @none is present, do not create and send
the post<br>
> data argument javax.faces.partial.execute.<br>
> - If the keyword @all is present, create the post data
argument with<br>
> the name javax.faces.partial.execute and the value @all.<br>
> - *Otherwise, there are specific identifiers that need to be
sent.<br>
> Create the post data argument with the name<br>
> javax.faces.partial.execute and the value as a space
delimited<br>
</div>
</div>
> stringof client identifiers.<br>
<div>> *<br>
> - If options.execute does not exist, create the post data
argument with<br>
> the name javax.faces.partial.execute and the value as the
identifier of<br>
> the element that caused this request.<br>
><br>
><br>
> Which means exactly, that I am not sure which behavior is correct
and which<br>
> not. My personal guess is that both implementations are<br>
> correct because the spec clearly leaves it open if the issuing
element also<br>
> can be added to the exec list unless no exec list is given at all.<br>
> But that is merely an assumption on my side here.<br>
> Any ideas on this.<br>
><br>
> Werner<br>
><br>
<br>
<br>
</div>
<div>
<div>--<br>
<br>
<a moz-do-not-send="true" href="http://www.irian.at">http://www.irian.at</a><br>
<br>
Your JSF powerhouse -<br>
JSF Consulting, Development and<br>
Courses in English and German<br>
<br>
Professional Support for Apache MyFaces<br>
</div>
</div>
</blockquote>
</div>
<br>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
<a class="moz-txt-link-abbreviated" href="mailto:roger.kitain@oracle.com">roger.kitain@oracle.com</a>
<a class="moz-txt-link-freetext" href="https://twitter.com/rogerk09">https://twitter.com/rogerk09</a>
<a class="moz-txt-link-freetext" href="http://www.java.net/blogs/rogerk">http://www.java.net/blogs/rogerk</a>
</pre>
</body>
</html>