Here's more on the problem from the myfaces user list - and these are 
dated just last month (:(

http://www.mail-archive.com/users@myfaces.apache.org/msg07151.html

Briefly, here's what is the "solution":

If I have a commandLink inside of a dataTable tag then the only way I can 
make the link work is if I set my managed bean scope to be "session" 
instead of "request". 

There's a kind of explanation here about why this particular combination 
of dataTable and commandLink is a problem. Here's a quote:

> The link component doesn't exist or isn't rendered in the component
> tree because there are no rows in the datatable.   The "action
> handler" throws away actions if the action source isn't rendered or
> doesn't exist.   There's probably some handwaving in this and some
> minor errors, but it's probably the general idea of why it's not
> working.

So what in English is this "no rows in the datatable" bit..?? I can in 
fact *see* all the links so defintely when they were getting rendered all 
these rows existed... ah,... so is that it? If the scope is request, after 
the page is rendered, the managed bean is thrown away and so when the link 
is clicked there isn't anything "backing" the link in the backing bean..? 
um.. sort of makes sense i suppose. But surely this is a bug not a 
feature..?? I am sure many folks would want to place links within a 
(data)table...

So I guess my new question is this: what are the ramifications of setting 
my managed bean's scope to session? My kneejerk thought is this is a bad 
thing.. however if it's only a question of having extra code to fix this, 
I will do it. Since I *have* to have the capability of having links within 
a table. But I don't know enough at all about JSF to know what I should be 
doing if I continue using dataTable.. (:(  Or maybe I shouldn't be using 
dataTable at all..? That would be sad since dataTable seemed such a cool 
thing.. So anyway, what other choices do I have?

If you've read this far, many thanks again! :)
Geeta

Reply via email to