为什么联系表格会让我的页脚消失?

时间:2011-10-14 15:09:46

标签: html jsf jsf-2 footer

我构建了这个联系表单,如果我单独运行它会很有效,但是如果我在我的联系页面上让我的页脚消失,​​我真的不知道为什么会这样,我真的需要帮助。< / p>

contact.xhtml

<!DOCTYPE html>
<ui:composition
    xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:a4j="http://richfaces.org/a4j">

    <h:form id="contact">
            <h:panelGrid columns="3">
            <h:outputLabel for="name" value="Nome (Obrigatório)" />
            <h:inputText id="name" value="#{contact.client.name}" />
            <h:message for="name" />

            <h:outputLabel for="email" value="E-Mail (Obrigatório)" />
            <h:inputText id="email" value="#{contact.client.email}" />
            <h:message for="email" />

            <h:outputLabel for="website" value="Website (Opcional)" />
            <h:inputText id="website" value="#{contact.client.website}" />
            <h:message for="website" />

            </h:panelGrid>

            <h:outputLabel for="text" value="Mensagem (Obrigatório):" /> <br/>
            <h:inputTextarea id="text" value="#{contact.client.text}" rows="20" cols="80" /><br/>
            <h:message for="text" />
            <br/>

            <h:commandButton value="Enviar" action="#{contact.sendMessage}"  >
                    <f:ajax execute="@form" render="@form" />
            </h:commandButton>

            <h:outputText value="#{contact.messageStatus}" id="out"  />

            <a4j:status>
                <f:facet name="start">
                    <h:graphicImage name="loader.gif" library="image" />
                    <h:outputText value="Enviando ..." />
                </f:facet>
            </a4j:status>
    </h:form>
</ui:composition>

如果没有组件'contact.xhtml',它看起来像: without the component

使用组件(并且没有页脚): enter image description here

知道为什么会这样吗? 有什么帮助吗?

更新 我主持了here页面,所以你可以看看它。

2 个答案:

答案 0 :(得分:2)

我检查了您网页的HTML源代码(在浏览器中右键单击页面,查看源代码),在底部我看到未解析的JSF代码:

        <a4j:status>
        </a4j:status>

然后所有HTML都停在那里。

显然你忘了为a4j声明XML命名空间,HTML渲染器生气了。

xmlns:a4j="http://richfaces.org/a4j"

这应该在发展阶段发出明确的警告。将以下上下文参数添加到web.xml,以便及早通知此类错误:

<context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
</context-param>

答案 1 :(得分:0)

由于没有要查看的代码,我只能猜测:窗体或页脚的边距。