1 Reply Latest reply on Sep 8, 2011 10:58 AM by jean.raymond

    Richfaces Mashup Support

    jean.raymond

      We have a group of web modules that are peer applications to one another. We mash them together using jQuery. These differing modules all use Richfaces. The different modules may be deployed on different application servers.

      Imagine a JSF page for opening an account. That page might make use of a customer search feature to look up the customer the account is to be opened for. The JSF page with the account open form on it is served from one web module, and the client search page is served up from another.

      ...jsf page loaded from http://openaccount.com/openForm.xhtml

      ... code to load a search from from elsewhere...
      <script type="text/javascript">
         jQuery
      (document).ready(function () {
            jQuery
      ('#search_gadget').load('http://search.com/searchForm.xhtml');
                             
      });
      </script>
      <search_gadget/
      >
      <br/> .. the rest of the open account form...

      ...both searchForm and openForm are JSF/a4j pages.

      Now, the trouble is that when the searchForm 'gadget' makes a4j calls to perform searches and new view state id's are returned by it, the view state id's of the openForm.xhtml are updated as well. When the openForm.xhtml is then used to post the form to the server the view state id's are out of synch (since they were last updated by a4j calls to a different web module, which has a differing server side view state).

       

      Is there a way to isolate view state id's appropriate for the manner described above? where we want to be able to isolate jsf view state of mashed-in components to the particular web module it was served from?