myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Koci <martin.kocicak.k...@gmail.com>
Subject [core] ajax @this with non trivial component
Date Fri, 14 Jan 2011 20:12:18 GMT
Hi,

if component is represented on client like:

<span id="clientId">

  <label id="clientId_label" for="clientId_input" > a Label </label>

  <input id="clientId_input" onchange="jsf.ajax.request(...execute:
'@this'  ...)"

</span>


what will be in HTTP reuqest? execute = "clientId_input" - but this is
only internal part of the component, not id of component on the server
so no component is executed.

What I need is :


  <input id="clientId_input" onchange="jsf.ajax.request(...execute:
'cliendId'  ...)"

= clientId of component in execute. But if I use f:ajax like this:

<mkk:mySuperComponent>
 <f:ajax execute="@this" />
</mkk:mySuperComponent>

ajax behaviour renderer renders '@this' as pass thru value. What I
really need is:

if ("@this".equals(executeItem)) {
	executeItem = clientBehaviorContext.getComponent().getCliendId()
}

Similar for render attribute. 


Spec. says: "@this = The element that triggered the request". Thats very
unclear: specification uses 'element' word in two contexts: DOM element
and XHTML element.


Mojarra 2.0.3 renders '@this' as pass through too.


WDYT ?


Kočičák


Mime
View raw message