aspose file tools
The moose likes JSF and the fly likes Problem in setting view root in beforeRenderResponse() Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of The Software Craftsman this week in the Agile forum!
JavaRanch » Java Forums » Java » JSF
Bookmark "Problem in setting view root in beforeRenderResponse()" Watch "Problem in setting view root in beforeRenderResponse()" New topic
Author

Problem in setting view root in beforeRenderResponse()

Dushyant Agarwal
Ranch Hand

Joined: Oct 14, 2007
Posts: 75
Hi,
I am developing an application in which a JSF page - pageA.jsp, has a backing bean PageA.java. pageA.jsp has an <f:phaseListener > tag . PageA.java implements PhaseListenerand has got the follwoing code in beforeRenderResponse() method :

public void beforePhase(PhaseEvent e){

if(e.getPhaseId().equals(PahseId.RENDER_RESPONSE))
beforeRenderResponse();


}

public void beforeRenderResponse(){
(FacesContext.getCurrentInstance().setViewRoot(
(HttpSession)
( FacesContext.getCurrentInstance().getExternalContext().getSession(true)
)
.getAttribute("savedViewOfPageB")
);
}

The "savedViewOfPageB" label is mapped to the UIViewRoot instance of another JSF page - pageB.jsp. And it is saved in an action method called in pageB's Backing Bean, when a command button is clicked in pageB.jsp. As well as there is navigation from pageB to pageA.

So now there Navigation pageB==>pageA & the view root of pageB is saved on session which has got to be displayed as soon as the rendering of pageA takes place.

But the view root of pageA does not get changed(to that of pageB) on initial request. If I make a postback on pageA then the new view(that of pageB) gets rendered. How can I change the view root of pageA to that of pageB in beforeRenderResponse
 
Have you tried LearnNowOnline? http://www.learnnowonline.com/
 
subject: Problem in setting view root in beforeRenderResponse()