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

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to