You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Julian Ray <ju...@yahoo.com> on 2006/05/03 21:15:51 UTC

dynamically included subviews

Does anyone know if this is possible, and if so, what is the correct
mechanism
 
<t:aliasBean alias="#{pageBean}" value="#{Report}">

<f:subview id="reportgui">

<jsp:directive.include file="#{pageBean.reportTemplate}" />

</f:subview>

</t:aliasBean>

The JSP directive obviously cannot interpret the JSF value binding but is
there an alternative way to dyncamically include a page without having to
use tiles or facelets which seems to be overkill for this.
 
Thanks

RE: dynamically included subviews

Posted by Julian Ray <ju...@yahoo.com>.
We actually do this at the moment but the JSPs are getting bloated as this
is the core of our reporting/charting framework and
there are potentially many reports facets that can be shown (20-30+). I was
looking for a more compact solution akin to using
Velocity templates which could be dynamicaly inserted into the JSP by the
backing bean.  Both tiles and Facelets require thay
I change the view hander for the entire app (all 120+ JSPs) which is
overkill to support just I page.

The other alternative is to build the view dynamically by inserting UI
components into the comoponent tree but this starts to break down the MVC
pattern.


-----Original Message-----
From: Le Van [mailto:lvan@it.fts-vn.com] 
Sent: Thursday, May 04, 2006 4:38 AM
To: MyFaces Discussion
Subject: Re: dynamically included subviews

Julian Ray wrote:

> Does anyone know if this is possible, and if so, what is the correct 
> mechanism
>  
>
> <t:aliasBean alias="#{pageBean}" value="#{Report}">
>
> <f:subview id="reportgui">
>
> <jsp:directive.include file="#{pageBean.reportTemplate}" />
>
> </f:subview>
>
> </t:aliasBean>
>
> The JSP directive obviously cannot interpret the JSF value binding but 
> is there an alternative way to dyncamically include a page without 
> having to use tiles or facelets which seems to be overkill for this.
>  
> Thanks

Why you don't use rendered.
<f:subview id="reportgui" rendered="FlagFromBean"> </f:subview>


Re: dynamically included subviews

Posted by Le Van <lv...@it.fts-vn.com>.
Julian Ray wrote:

> Does anyone know if this is possible, and if so, what is the correct 
> mechanism
>  
>
> <t:aliasBean alias="#{pageBean}" value="#{Report}">
>
> <f:subview id="reportgui">
>
> <jsp:directive.include file="#{pageBean.reportTemplate}" />
>
> </f:subview>
>
> </t:aliasBean>
>
> The JSP directive obviously cannot interpret the JSF value binding but 
> is there an alternative way to dyncamically include a page without 
> having to use tiles or facelets which seems to be overkill for this.
>  
> Thanks

Why you don't use rendered.
<f:subview id="reportgui" rendered="FlagFromBean">
</f:subview>

Re: dynamically included subviews

Posted by Mike Kienenberger <mk...@gmail.com>.
On 5/3/06, Julian Ray <ju...@yahoo.com> wrote:
> Does anyone know if this is possible, and if so, what is the correct
> mechanism
>
> <t:aliasBean alias="#{pageBean}" value="#{Report}">
>
> <f:subview id="reportgui">
>
> <jsp:directive.include file="#{pageBean.reportTemplate}" />
>
> </f:subview>
>
> </t:aliasBean>
> The JSP directive obviously cannot interpret the JSF value binding but is
> there an alternative way to dyncamically include a page without having to
> use tiles or facelets which seems to be overkill for this.

First off, I'm not a jsp expert (or even much of a jsp user).

However, my understanding is that your jsp tags are going to be
executed at compile-time (ie, the first time the application uses the
page).   That means you cannot use run-time tags like t:aliasBean or
EL expressions which are evaluated at each request since the page is
already compiled at this point.

Perhaps there's a way to do it solely with jsp tags, but that's
outside of the scope of my knowledge.