Ok some more insight - it fails already with pure Clay - the View is not taking part on SWF or SCXML dialogs (good to know, because SWF is working than fine).
Lets take a look - i have a login form:
The one which works:
<view>
<component jsfid="/index.xml" extends="loginLayout">
<symbols>
<set name="title" value="index.xml"/>
<set name="content" value="/pages/defaultLogin.html"/>
</symbols>
</component>
</view>
<div xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:clay="http://shale.apache.org/clay"
xmlns:s="http://shale.apache.org/core"
xmlns:t="http://myfaces.apache.org/tomahawk" jsfid="void">
<h:form>
<h:messages />
<h:panelGrid columns="2">
<label>Login</label>
<h:inputText value="#{index.login}" required="true"/>
<label>Passwort</label>
<h:inputSecret value="#{index.password}"
binding="#{index.passComp}"
required="true"/>
<label>Passwort Confirm</label>
<h:inputSecret value="#{index.password_again}"
validator="#{index.checkPass}" required="true"/>
</h:panelGrid>
<h:commandButton action="#{index.checkLogin}" value="#{msg.ok}"
/>
</h:form>
</div>
loginLayout:
<component jsfid="loginLayout" extends="clay" id="base">
<attributes>
<set name="clayJsfid"
value="/templates/loginTemplate.html" />
</attributes>
<symbols>
<set name="title" value="Login" />
<set name="banner" value="/pages/defaultHeader.html" />
<set name="content" value="/pages/defaultBody.html" />
<set name="footer" value="/pages/defaultFooter.html" />
</symbols>
</component>
This works. I can enter some "wrong" values in the login form and submit
the page.
Changing the login name and provoking a fail at phase 3 results in that
changed login name redisplayed.
Now the one which does not work:
<view>
<component jsfid="/clayxml/page1.xml" extends="baseLayout2">
<symbols>
<set name="title" value="Page 1"/>
<set name="content" value="/pages/page1Body.html"/>
</symbols>
</component>
</view>
<div xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:clay="http://shale.apache.org/clay"
xmlns:s="http://shale.apache.org/core"
xmlns:t="http://myfaces.apache.org/tomahawk" jsfid="void">
<h:form>
<h:messages />
<h:panelGrid columns="2">
<label>Login</label>
<h:inputText value="#{index.login}" required="true"/>
<label>Passwort</label>
<h:inputSecret value="#{index.password}"
binding="#{index.passComp}"
required="true"/>
<label>Passwort Confirm</label>
<h:inputSecret value="#{index.password_again}"
validator="#{index.checkPass}" required="true"/>
</h:panelGrid>
<h:commandButton action="#{index.checkLogin}" value="#{msg.ok}"
/>
</h:form>
</div>
Like you can see - its the same page like above.
The baseLayout2 is:
<component jsfid="baseLayout2" extends="clay" id="base">
<attributes>
<set name="clayJsfid" value="/templates/template2.html"
/>
</attributes>
<symbols>
<set name="title" value="Clayed Morons CSS Layout 2" />
<set name="banner" value="/pages/defaultHeader.html" />
<set name="topnavi" value="/pages/defaultTopNav.html" />
<set name="leftnavi" value="/pages/defaultLeftNav.html"
/>
<set name="content" value="/pages/defaultBody.html" />
<set name="footer" value="/pages/defaultFooter.html" />
</symbols>
</component>
But now the form in page1Body.html does show things mentioned.
I can enter values for login and password. If i do all right, the values
are taken into the model and displayed.
But if i change the login name and dont insert a value for password, the
page gets redisplayed, of cause as its a required value.
But the login is the one from the bean, not the one i've entered the
last time.
The backing bean is a simple session pojo.
The form works sometimes, and sometimes it doesn't.
I'll try to get an example app online - but maybe someone is able to see
my failure, or the failure in clay, don't know if its me or not ^^
Torsten
smime.p7s
Description: S/MIME cryptographic signature
