1 Reply Latest reply on Dec 12, 2007 2:32 AM by amorfis

    Simple Action Redirect with Parameters

    rrlevering

      Possibly I'm using the paradigm wrong, but since this is a fairly straightforward question, I want to check early. I have a simple navigation problem within a CRUDish application. I want to navigate from one page to another, carrying along the conversation context. I'm using parameter passing to handle the object identification, so an excerpt from pages.xml looks something like:

       ...
       <page view-id="/division.xhtml">
       <param name="divisionId" value="#{manageDivision.divisionId}" />
       <navigation from-action="viewDepartment">
       <redirect view-id="/department.xhtml" />
       </navigation>
       </page>
       <page view-id="/department.xhtml">
       <param name="departmentId" value="#{manageDepartment.departmentId}" />
       </page>
       ...
      

      So I have a s:link on one page somehow pointing to another page that deals with a different type of object. I embed the parameter in the s:link (using an f:param) so that the target page can identify the object I'm interested in. Now here's my issue. I'd ideally like to abstract away the view-id from the link. So I want the s:link to have a 'action="viewDepartment"' attribute and the pages.xml redirects in case I want to change my file naming scheme later. If I use 'view="/department.xhtml"' everything works grand. However, if I use the abstract action String, it treats the link as an internal application link and fetches the department id from the unitialized manageDepartment bean and not from the passed parameter. Is there anyway to have this abstract link mapping without losing my simple parameter passing ability?