Without facelets, I think you'd need to extend myfaces' view handler
(org.apache.myfaces.application.jsp.JspViewHandlerImpl) and specify to
use that in faces-config.xml   In your custom view handler, you'd have
to load the file from the base app jar and feed the content into some
protected method of JspViewHandlerImpl.  If this is possible at all, I
think that's the basic idea of how you'd do it.

I'm looking into something very similar and am now pursing facelets for
other reasons (http://www.onjava.com/pub/a/onjava/2004/06/09/jsf.html).
 I think for facelets it would be different; I'm just getting into this
issue today.  It seems that the facelets' view handler
(com.sun.facelets.FaceletViewHandler) uses a FaceletFactory, in which we
could override the getFacelet method.

In all these cases, I'm assuming that we'd use a special view-id (e.g.
"/the-parent/page3") which our custom code would resolve to pull from
the jar file.

Richard Wallace wrote:
> I was wondering if maybe Tiles could help me out here.  I looked into it
> but I'm not 100% sure how it would work.  I mean, optimally, the JSPs
> and other resources from the base app would be bundled in a jar.  Tiles
> would look in the normal location for the JSP file, so
> $CATALINA_HOME/webapps/mywebapp/ and then look on the classpath for the
> resource.  From what I saw when I was looking at Tiles, it didn't say
> anything about being able to do anything like this.  Maybe someone can
> fill me in or point me in the right direction on where to look for this?
> 
> Thanks,
> Rich
> 
> Mike Kienenberger wrote:
> 
>> Have you looked into some kind of templating layer such as using
>> facelets or Tiles?
>>
>> You'd have the configurable aspects as separate resources.
>>
>> On 9/6/05, Richard Wallace <[EMAIL PROTECTED]> wrote:
>>  
>>
>>> Hey everyone,
>>>
>>> I've got an interesting question that came up while working on my last
>>> project that I'm hoping someone has an answer to.  Basically, the
>>> situation is that there is a base webapp that has all the basic features
>>> of the application.  But, we plan on licensing it to clients and do some
>>> customization for them, like custom user registration system, custom
>>> skinning, etc.  The thing is that most of the JSPs and other resources
>>> from the base webapp can remain the same but a few will need to change
>>> (logos, css, etc.).
>>>
>>> Right now we don't have a good way of doing this other than to copy ALL
>>> the JSPs over from the base into the sub-projects and modify only those
>>> that need it.  The problem we're running into is that adding features to
>>> the base webapp and propagating them to the sub-projects is quickly
>>> becoming a major PITA.
>>>
>>> What I was thinking was that it would be nice if there was a way to do
>>> something like an "overlay" of the webapp.  So that the base webapp
>>> would be unrolled first and then the sub-projects webapp would be rolled
>>> out over top of that replacing any files that were modified and keeping
>>> anything that wasn't.  That way we would only have to maintain JSPs and
>>> resources in the sub-project that are specific to that clients
>>> customizations.
>>>
>>> Is there anything out there that solves this problem already?  Have
>>> others run into this and what have you done?  Any input would be
>>> appreciated.
>>>
>>> Thanks.
>>>
>>> Rich
>>>
>>>
>>>
>>>   
> 
> 


-- 
Dave Brondsema
Software Developer
Cornerstone University

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to