[RESOLVIDO]Erro ao acrescentar Prime Face no Template

5 respostas
maurijava

Galera,

Por que quando eu coloco menuBar do Prime Face no cabeçalho do template ele fica gerando um erro dizendo que os componentes buton\link\text não podem fica sem o form, depois manda acrescentar o <h:form>????

Segue mensagem: “The button/link/text component needs to have a Form in its ancestry. Please add <h:form>”

Segue código do tamplate:

<?xml version='1.0' encoding='UTF-8' ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.prime.com.tr/ui">
    <h:head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title><ui:insert name="title">Default Title</ui:insert></title>
<h:outputStylesheet name="css/jsfcrud.css"/>
<h:form>  
    <p:growl id="messages"/>  
    <p:menubar>  
        <p:submenu label="Arquivo" icon="ui-icon-document">  
            <p:menuitem value="Novo" ajax="false" action="#{comunicacaoController.prepareCreate}" />  
            <p:menuitem value="Importar" url="#" /> 
            <p:menuitem value="Exportar" url="#" />  
            <p:separator />  
            <p:menuitem value="Sair" url="http://intranet" />  
        </p:submenu>         
    </p:menubar>  
</h:form>

    </h:head>

    <h:body>
        <h1>
            <ui:insert name="title">Default Title</ui:insert>
        </h1>
        <p>
            <ui:insert name="body">Default Body</ui:insert>
        </p>
    </h:body>

</html>

5 Respostas

Hebert_Coelho

Tente colocar o form dentro do componente.

G

Você precisa colocar seu menuBar dentro da tag h:body e não da h:header.
Dentro da header só deve ir import de css,js,meta tag,title…
Toda parte de formulários ou todo qualquer elemento que seja pra mostrar algo em tela deve ir no body.

[]`s

maurijava

grinche

Cara, fiz isso mas num funcionou não…

Parou de dar esse erro quando eu coloquei um form dentro do submenu, mas ai ele não renderizou o submenu… Muito estranho!!!

Mais uma informação, eu to usando o prime 2.2.1, será que é isso??? é bug desta versão???

Sds,

Maurijava.

maurijava

Ai galera,

Para quem interessar, o problema foi resolvido mudando um parametro no web.xml:

De:

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

Para:

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

Fui…

G

Então o sistema estava exibindo uma mensagem de aviso e não de erro.

[]'s

Criado 12 de outubro de 2012
Ultima resposta 15 de out. de 2012
Respostas 5
Participantes 3