I have jsf application, written using facelets. I want it to be extedable with
custom modules.
Module is simple jar with faces-context.xml in it. I can place it in
/WEB-INF/lib directory, register somehow in my app, for example by specifying
main class of module, so later, after deploy, I can reach all resources from
this jar.
As specified in spec, I can add managed beans and custom navigation rules into
module's faces-context.xml. But what about jsp pages? How can I add them and
later tell my main app to use them? For example, I have rule:
<navigation-rule>
<from-view-id>/modules/test/foo.jsp</from-view-id>
<navigation-case>
<from-action>#{moduleBean.doSmth}</from-action>
<to-view-id>/modules/test/foo1.jsp</to-view-id>
</navigation-case>
</navigation-rule>
(let's say, that every module must use /modules/<module_name> prefix).
Both foo.jsp and foo1.jsp are located in module_test.jar, which is (as
Imentioned before) in /WEB-INF/lib folder of my main app. So how will
main app understand that it must load jsp's from module_test.jar?