I have a facelets page which calls a backing bean of session scope. Now when ever i click on this page i want the existing bean object to be removed from the session . In my existing jsp i have a logic something like this to remove the object from session
Now i have to refactor my jsp to use facelets and i should not be using scriplets anymore . I did try with JSTL but the <c:remove> tag is not supported by facelets.
Can someone help me how can i refactor this code to work for my facelets?
In the action processor for your submit (commandButton), get the FacesContext and chase down through it to get the HttpSession object, then remove the attribute in the usual manner. I maintain a separate JSF utilities class for functions like this, to keep the app code simpler and easier to test offline.
JSF2 has introduced other ways to control the lifespan of a backing bean, but all the examples I've seen so far have been pretty wretched. Fortunately, the View Scope is an exception if you can use it.
An IDE is no substitute for an Intelligent Developer.