I agree that the email variable should be available only inside the dataTable, and this is what I suggest.
The _expression_ would be stored and then evaluated only at the row level, where the email variable is set. It would be quite meaningless to evaluate the rowId in a higher scope, as the "var" variable needs to be set first.
The code to do this would be similar to the one used in aliasBean.

So I don't see any scope problem here.

Sylvain.

On Tue, 2005-06-21 at 00:10 +0000, John Fallows wrote:
Hi Sylivain,

On 6/20/05, Sylvain Vieujot <[EMAIL PROTECTED]> wrote:
>  I just find maybe a more elegant way to solve this.
>  It still involves using dynamically setting the clientId, but instead of
> adding a new attribute to the components, we could add a new rowId attribute
> to the x:dataTable :
>  <x:dataTable var="email" rowId="#{email.unid}" ...>

The problem with this approach is that it changes the interpretation
of the scope in which the "email" variable will be evaluated.

Variables exposed by components should only have scope inside the
component, not at the component itself.

For example, the variable "email" may already non-null on the request scope.

Kind Regards,
John Fallows.

Reply via email to