|
You are right.
If you want to use request scope beans, then you
have to restore table model BEFORE action is triggered (before Apply Request Values Phase).
If there is attribute var="item" in a
dataTable tag, then you can evaluate #{item} in your action:
FacesContext.getCurrentInstance().getApplication().createValueBinding("#{item}").
JSF implementation have to initialize "item" variable for the row where you
have clicked before it call action method.
If the corresponding item does not exists
then the action will not be called.
There is issue in MyFaces: "This error condition is
not reported". If MyFaces reported (at least in
log) error or warning like "row 3 not exists in table model", you would be able to track the problem
yourself.
I suggest Saul
Qunming Yuan to consider t:saveState, but to save only minimal values
he need to restore a model (like master primary key), not model
itself. t:saveState is like a hidden filed, but applied
earlier.
Also suggest to use session beans sometimes. It is
trickily to develop in JSF only with request beans.
Nebojsa
----- Original Message -----
|
- Re: commandLink not working inside <t:dataTable> Saul Qunming Yuan
- Re: commandLink not working inside <t:dataTable... Navid Vahdat
- Re: commandLink not working inside <t:dataT... Saul Qunming Yuan
- Re: commandLink not working inside <t:dataTable... Nebojsa Vasiljevic
- Re: commandLink not working inside <t:dataT... Saul Qunming Yuan
- Re: commandLink not working inside <t:d... Nebojsa Vasiljevic
- Re: commandLink not working inside <t:d... Werner Punz
- Re: commandLink not working inside <... Saul Qunming Yuan

