Come on friends, I'm looking forward to getting your feedback... ;-)
On 5/15/05, Enrique Medina <[EMAIL PROTECTED]> wrote: > Hi, > > I have the typical application where several entities (clients, > invoices, budgets, etc.) can be consulted and CRUD operated. I want to > have a common structure for all of them with: > > a) A search criteria form, made of any type of input control (text, combo, > etc.) > > b) Below, a button to search using the entered criteria by the user. > > c) Below, a tabbed panel with several tabs, where the results are > presented in different manners. > > Assume my JSF bean is request-scoped (due to session memory > constraints) and it has the model containing the criteria. If I submit > the criteria form using the button (where its immediate property is > set to "false"), the model obviously gets updated in my JSF bean, so: > > 1) The model gets updated in the Update Model JSF phase. > 2) I can use that model from my JSF to invoke my business logic with > the criteria. > 3) When the page is rendered again, the results are displayed and also > the criteria, so the user can see what criteria has led to those > results. > > But the problem comes when I change from one tab to another. As the > component does neither update the model nor expose the immediate > property: > > 1) The model doesn't get updated > 2) I cannot call pass the criteria to the business logic, so I just > can't find the correct results. > 3) When the page is rendered again, the criteria has dissapeared and > obviously the results are not those expected. > > So what can I do? There are some possible solutions: > > a) Change the JSF bean to session scoped, so the components are not > recreated in each request and are always updated (not through my JSF > bean model, but through the JSF component model itself). I *must* > avoid this solution. > > b) Bind a variable in my JSF bean to each input criterion in the > criteria form, as the binding properties get always invoked by the JSF > lifecycle. Then, inside my JSF bean, whenever I need to do the search, > I must get the criteria values from the binded variables. > > c) Any more you may propose... > > What do you think? How are you facing this functionality in your applications? >

