myfaces-dev mailing list archives

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

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'  ...)"


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:

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

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.



View raw message