Problema com Primefaces

6 respostas
JeanAv

Boa tarde Pessoal, tudo OK?

Então, estou implementando exemplos do showcase do Primefaces, deste link http://www.primefaces.org/showcase-labs/ui/menubar.jsf, porém estou encontrando problemas no momento de mostrar as mensagens de validações.

Tanto usando messages, quando usando o componente GROWL, ele da o erro outputScript with no library, no name, and no body content.

Alguem pod me ajudar?

Segue o codigo que usei:

<?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" />
        <link href="./resources/css/default.css" rel="stylesheet" type="text/css" />
        <link href="./resources/css/cssLayout.css" rel="stylesheet" type="text/css" />
         <title>..:: Sistema Teste::.. - ${title}</title>
    </h:head>

    <h:body>

        <div id="top">
            <ui:insert name="top">
                <h:outputStylesheet />
                <h:form>

                    <p:growl id="messages"/>

                    <p:menubar autoSubmenuDisplay="true">
                        <p:submenu label="Arquivo" icon="ui-icon ui-icon-document">
                            <p:submenu label="Novo" icon="ui-icon ui-icon-contact">
                                <p:menuitem value="Usuário" url="#" helpText="CTRL+N" />
                                <p:menuitem value="Cliente" url="#" helpText="CTRL+O"/>
                                <p:menuitem value="Locação" url="#" helpText="CTRL+L"/>
                            </p:submenu>
                            <p:menuitem value="Open" url="#" />
                            <p:menuitem value="Quit" url="#" />
                        </p:submenu>

                        <p:submenu label="Edit" icon="ui-icon ui-icon-pencil">
                            <p:menuitem value="Undo" url="#" icon="ui-icon ui-icon-arrowreturnthick-1-w" helpText="CTRL+Z"></p:menuitem>
                            <p:menuitem value="Redo" url="#" icon="ui-icon ui-icon-arrowreturnthick-1-e" helpText="CTRL+Y"></p:menuitem>
                        </p:submenu>

                        <p:submenu label="Help" icon="ui-icon ui-icon-help">
                            <p:menuitem value="Contents" url="#" />
                            <p:submenu label="Search" icon="ui-icon ui-icon-search">
                                <p:submenu label="Text">
                                    <p:menuitem value="Workspace" url="#" />
                                </p:submenu>
                                <p:menuitem value="File" url="#" />
                            </p:submenu>
                        </p:submenu>

                        <p:submenu label="Actions" icon="ui-icon ui-icon-gear">
                            <p:submenu label="Ajax" icon="ui-icon ui-icon-refresh">
                                <p:menuitem value="Save" actionListener="#{buttonBean.save}" icon="ui-icon ui-icon-disk" update="messages"/>
                                <p:menuitem value="Update" actionListener="#{buttonBean.update}" icon="ui-icon ui-icon-arrowrefresh-1-w" update="messages"/>
                            </p:submenu>
                            <p:submenu label="Non-Ajax" icon="ui-icon ui-icon-newwin">
                                <p:menuitem value="Delete" actionListener="#{buttonBean.delete}" icon="ui-icon ui-icon-close" update="messages" ajax="false"/>
                            </p:submenu>
                        </p:submenu>

                        <p:menuitem value="Quit" url="http://www.primefaces.org" icon="ui-icon ui-icon-close" />
                    </p:menubar>

                </h:form>

            </ui:insert>
        </div>

        <div id="content" class="center_content">
            <ui:insert name="content">Content</ui:insert>
        </div>

        <div id="bottom">
            <ui:include src="footer.xhtml"/>
        </div>

    </h:body>

</html>

e o bean

package org.primefaces.examples.view;

import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;

public class MenuBean {
	
	public void save(ActionEvent actionEvent) {
		addMessage("Data saved");
	}
	
	public void update(ActionEvent actionEvent) {
		addMessage("Data updated");
	}
	
	public void delete(ActionEvent actionEvent) {
		addMessage("Data deleted");
	}
	
	public void addMessage(String summary) {
		FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, summary,  null);
		FacesContext.getCurrentInstance().addMessage(null, message);
	}
}

Abraços.

6 Respostas

viniciuspadua

aqui seu exemplo rodou bacana!

qual o erro? e quando ocorre?

esta utilizando quais jar ?

JeanAv

Olá viniciuspadua, tudo bom?

Então, estou utilizando o Primefaces 2.2.

O erro ocorre quando quando vai validar algo ou mostrar alguma mensagem no Growl.

Se vc fizer a gentileza de acessar o link http://www.primefaces.org/showcase-labs/ui/menubar.jsf, e acessar no exemplo de menu o item actions/ajax/save, poderá perceber que o growl usado no exemplo mostrará a mensagem corretamente, porém, no meu exemplo, ele tras o seguinte erro: outputScript with no library, no name, and no body content.

Num sei bem o q eh esse outputScript, estou tentando estudar isso pra ver.

:smiley:

JeanAv

aliás, o erro está aparecendo aki logo que executo o meu exemplo, ele ja ta mostrando a mensagem outputScript with no library, no name, and no body content, gostaria de saber o que é e como funciona esse OutputScript.

viniciuspadua

Simples.

pelo seu post o nome do seu bean é MenuBean entretanto esta chamando o buttonBean.save

é so alterar para menuBean .save

JeanAv

Puxa vida, que erro bobo, mto obrigado pela ajuda viniciuspadua, ja corrigi aki.

Adicionei aos testes os seguintes codigos:

<p:ajaxStatus style="width:16px;height:16px;">
                <f:facet name="start">
                    <h:graphicImage value="/images/loading1.gif" />
                </f:facet>

                <f:facet name="complete">
                    <h:outputText value="" />
                </f:facet>
            </p:ajaxStatus>

            <h:form>

                <p:panel id="cadCliPanel" header="Cadastro de Clientes">

                    <p:messages />

                    <h:panelGrid columns="3" cellpadding="5">
                        <h:outputLabel for="nome" value="Nome Completo: " />
                        <p:inputText id="nome"
                                     value="#{PessoasBean.pessoa.nomepessoavc}"
                                     required="true" label="Nome">
                            <f:validateLength minimum="4" />
                        </p:inputText>
                        <p:message for="nome" />

                        <h:outputLabel for="rg" value="RG.: " />
                        <p:inputText id="rg"
                                     value="#{PessoasBean.pessoa.rgpessoach}"
                                     required="true" label="rg"/>
                        <p:message for="rg" />

                        <h:outputLabel for="cpf" value="CPF.: " />
                        <p:inputText id="cpf"
                                     value="#{PessoasBean.pessoa.cpfpessoasmi}"
                                     required="true" label="CPF"/>
                        <p:message for="cpf" />

                        <h:outputLabel for="endereco" value="Endereço: " />
                        <p:inputText id="endereco"
                                     value="#{PessoasBean.pessoa.enderecopessovc}"
                                     required="true" label="Endereco"/>
                        <p:message for="endereco" />

                        <h:outputLabel for="numero" value="Número: " />
                        <p:inputText id="numero"
                                     value="#{PessoasBean.pessoa.numeropessoasmi}"
                                     required="true" label="Numero"/>
                        <p:message for="numero" />



                    </h:panelGrid>

                </p:panel>

            </h:form>

Mesmo com a correção q vc me alertou amigo, o erro eh exibido conforme no momento em que eu executo o projeto.

Vou estudar melhor esse outputScript, pra poder entender o que está causando esse erro.

Mto obrigado pro sua ajuda viniciuspadua, foi de grande ajuda.

Abraço

giorgialberto

Pessoal estou construindo uma aplicação onde tenho um template full page e no top desse layout tenho um menubar. Quero quando acionar o menuitem (ajax) o meu contener central atualize (apenas ele). Teria como alguém me ajudar? Exemplos? Grato pela atenção de todos.

Criado 21 de fevereiro de 2011
Ultima resposta 16 de jan. de 2012
Respostas 6
Participantes 3