[jsr-314-open] minor feature enhancement for Facelets/VDL

Dan Allen dan.j.allen at GMAIL.COM
Mon Apr 13 17:38:38 EDT 2009


On Mon, Apr 13, 2009 at 3:16 PM, David Geary <clarity.training at gmail.com>wrote:

> 2009/4/8 Dan Allen <dan.j.allen at gmail.com>
>
>> I just thought of a feature I have often needed in Facelets that perhaps
>> we can weave into the VDL. It would be nice to know if a named template has
>> been defined inside the master template. Consider the following example:
>>
>> page.xhtml
>> <ui:composition template="/WEB-INF/template.xhtml" ...>
>>     <ui:param name="title" value="VDL Template Page"/>
>>     <ui:define name="content">
>>          <h:outputText value="Hello World" />
>>     </ui:define>
>> </ui:composition>
>>
>> template.xhtml
>> <html ...>
>>     <h:head>
>>         <title>#{not empty title ? title : 'My Site'}</title>
>
>
> Alternatively, you can do <ui:insert name="title">My Site</ui:insert> if
> you ui:define title in page.xhtml, although last time I checked, I don't
> believe that default values were working for ui:insert in Mojarra.
>

Naturally. But the fallback fragment only partially solves the problem. It
doesn't help if you need to perform logic based on whether or not a template
is defined, or enforce that two or more templates are defined. The point is,
there are many cases when I have encountered a need to know whether it's
been defined or not, irregardless of whether a fallback kicks in.


>
> However, that solution (if it works) isn't good enough because page authors
> should be able to conditionally render any chunk of XHTML, instead of just
> conditionally inserting with ui:insert. For example, the container div in
> the example above might have padding and a border, so if it has no content,
> you'll get a rectangle with a border, instead of nothing. Therefore, you
> want the page author to be able to conditionally render the div based on
> whether content has been defined.
>

Exactly. It's not always so simple.

-Dan

-- 
Dan Allen
Senior Software Engineer, Red Hat | Author of Seam in Action

http://mojavelinux.com
http://mojavelinux.com/seaminaction
http://in.relation.to/Bloggers/Dan

NOTE: While I make a strong effort to keep up with my email on a daily
basis, personal or other work matters can sometimes keep me away
from my email. If you contact me, but don't hear back for more than a week,
it is very likely that I am excessively backlogged or the message was
caught in the spam filters.  Please don't hesitate to resend a message if
you feel that it did not reach my attention.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jsr-314-open-mirror/attachments/20090413/c0ca5b82/attachment.html 


More information about the jsr-314-open-mirror mailing list