[jboss-user] [JBoss Seam] - Theme / Locale / TZ not persistent

wsollers do-not-reply at jboss.com
Sat Nov 25 10:36:58 EST 2006


The cookies emitted when the user selects one of the ui customization selectors expire when the browser is closed. That means that when the user logs back into the app in another session the preferences are lost.

The problem is this code in the XXXSelector
   public void select()
   {
      Contexts.removeFromAllContexts( Seam.getComponentName(Theme.class) );
      FacesContext facesContext = FacesContext.getCurrentInstance();
      String viewId = facesContext.getViewRoot().getViewId();
      UIViewRoot viewRoot = facesContext.getApplication().getViewHandler().createView(facesContext, viewId);
      facesContext.setViewRoot(viewRoot);
      if (cookieEnabled)
      {
         HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
         response.addCookie( new Cookie("org.jboss.seam.core.Theme", theme) );
      }
   }


I modded it to :

   public void select()
   {
      Contexts.removeFromAllContexts( Seam.getComponentName(Theme.class) );
      FacesContext facesContext = FacesContext.getCurrentInstance();
      String viewId = facesContext.getViewRoot().getViewId();
      UIViewRoot viewRoot = facesContext.getApplication().getViewHandler().createView(facesContext, viewId);
      facesContext.setViewRoot(viewRoot);
      if (cookieEnabled)
      {
         HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
         Cookie cookie = new Cookie("org.jboss.seam.core.Theme", theme);
         cookie.setMaxAge ( 31536000 );
         response.addCookie( cookie );
      }
   }

Now when I go into a new session the cookie is picked up and used and all my settings are okay.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3988539#3988539

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3988539



More information about the jboss-user mailing list