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>
    </h:head>
    <body>
        <div id="container">
            <ui:insert name="content"/> <- how do I know if it has been defined?
        </div>
    </body>
</html>

Since the <ui:param> creates a regular variable, I can check whether it is empty or not. But I do not have a way to check if the named template "content" has been defined. Of course, I can nest default content within the <ui:insert>, which is used when the named template is not defined, but there are cases when I simply need to know whether or not it is defined. Could we come up with some way to check if it is defined?

-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.