How to retrieve session object in jsf view

Total Post:154

 1470  View(s)
Rate this:

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}" />

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.

  1. Post:101

    Re: How to retrieve session object in jsf view

    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 @ManagedProperty in the view scoped managed bean and then set the request detail as its property.

    public class RequestController {
        private RequestDetail requestDetail;
        public String requestDetail() {
            return "/views/request/detail.html?faces-redirect=true";
        // ...


    public class RequestDetail {
        private RequestVO selectedRequestVO;
        // ...

    which you then access as follows

      Modified On Apr-06-2018 02:15:12 AM