I have a RequestController(@ManagedBean and @ViewScoped) it is view scoped because we are using some ajax calls.
I have a dataTable with result and each result with a button
<p:commandButton action="#{requestController.requestDetail()}" icon="ui-icon-search" title="Detalhes">
<f:setPropertyActionListener target="#{requestController.backing.selectedRequestVO}" value="#{order}" />
</p:commandButton>
This method is receiving the selected object of my dataTable and is set on the session, it is working, the problem is that I don’t know how to get this session object from my view.
public void requestDetail() throws IOException {
FacesContext context = FacesContext.getCurrentInstance();
context.getExternalContext().getSessionMap().put("requestDetail",backing.selectedRequestVO);context.getExternalContext().redirect(context.getExternalContext().getRequestContextPath() + "/views/request/detail.html");
}
I need to access it from my view because this object has the request details.
It’s just available by the attribute name which you specified yourself.
Note that this is not the correct approach. You should have another session scoped managed bean which you inject as
@ManagedPropertyin the view scoped managed bean and then set the request detail as its property.with
which you then access as follows