Why can't you use destination1.xhtml from source1.xhtml, destination2.xhtml from source2.xthml, etc... and then use facelets templating <ui:composition> <ui:include> to abstract away any duplication?
A few reasons that I wouldn't want to do it that way are:
- to keep the number of artifacts to a minimum (based on the number of different navigation cases, I could be introducing tens or hundreds of destination.xhtml pages, if not more)
- for a bookmarkable, RESTful application where the location of the page matters, I may not want to introduce multiple destination pages when it really is ONE page (with very slight modifications), just because Seam doesn't allow it to be done programmatically
So based on your Seam knowledge, does the capability I mentioned in my original post not exist (to be able to execute an arbitrary method on page navigation)?
And... did you tried with plain sending a diffent query string for each case?
destination.xhtml?do=something destination.xhtml?do=otherthing destination.xhtml?do=somethingelse
and read it with a @RequestParameter ?