Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

problema na classe apos utilizar o Templete

antes todos meus commandlink e requisições ajax estavam funcionando mais ao implementar o _Template.xhtml eles param de funcionar segue a classe

<?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:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets">

<ui:composition template="_template.xhtml">
    <ui:define name="titulo">Novo Livro</ui:define>

    <ui:define name="conteudo">


        <h:form>
            <h:messages id="messages" />
            <fieldset>
                <legend>Dados do Livro</legend>
                <h:panelGrid columns="2">

                    <h:outputLabel value="Titulo:" for="titulo" />
                    <h:inputText id="titulo" value="#{livroBean.livro.titulo}"
                        required="true" requiredMessage="Titulo não pode ficar em branco!"
                        validatorMessage="Não ultrapasse 40 caracteres no Titulo do Livro!">
                        <f:ajax event="blur" render="messages" />
                        <f:validateLength maximum="40" />
                    </h:inputText>

                    <h:outputLabel value="ISBN:" for="isbn" />
                    <h:inputText id="isbn" value="#{livroBean.livro.isbn}"
                        validator="#{livroBean.comecaComDigitoUm}">
                        <f:ajax execute="@this" render="messages" />
                    </h:inputText>

                    <h:outputLabel value="Preço:" for="preco" />
                    <h:inputText id="preco" value="#{livroBean.livro.preco}"
                        validatorMessage="Valor tem que ser maior que R$ 1,00 e menor que R$ 1.000,00!">
                        <f:validateDoubleRange minimum="1.00" maximum="1000.00" />
                    </h:inputText>

                    <h:outputLabel value="Data de Lançamento:" for="dataLancamento" />
                    <h:inputText id="dataLancamento"
                        value="#{livroBean.livro.dataLancamento.time}">
                        <f:convertDateTime patter="dd/mm/yyyy" timeZone="America/Belem" />
                    </h:inputText>
                </h:panelGrid>
            </fieldset>

            <fieldset>

                <legend>Dados do Autor</legend>
                <h:outputLabel value="Selecione o Autor" for="autor" />
                <h:selectOneMenu value="#{livroBean.autorId}" id="autor">
                    <f:selectItems value="#{livroBean.autores}" var="autor"
                        itemLabel="#{autor.nome}" itemValue="#{autor.id}" />
                </h:selectOneMenu>

                <h:commandButton value="Gravar Autor"
                    action="#{livroBean.gravarAutor}">
                    <f:ajax execute="autor" render="tabelaAutor" />
                </h:commandButton>

                <h:dataTable value="#{livroBean.autoresDoLivro}" var="autor"
                    id="tabelaAutor">
                    <h:column>
                        <h:outputText value="#{autor.nome}" />
                    </h:column>
                </h:dataTable>

                <br />
                <h:commandLink value="Cadastrar novo autor"
                    action="#{livroBean.formAutor}" immediate="true" />
            </fieldset>

            <h:commandButton value="Gravar" action="#{livroBean.gravar}">
                <f:ajax execute="@form" render="@form :tabelaLivros" />
            </h:commandButton>
        </h:form>

        <h:dataTable value="#{livroBean.livros}" var="livro" id="tabelaLivros">
            <h:column>
                <f:facet name="header">Titulo</f:facet>
                <h:outputText value="#{livro.titulo}" />
            </h:column>
            <h:column>
                <f:facet name="header">ISBN</f:facet>
                <h:outputText value="#{livro.isbn}" />
            </h:column>
            <h:column>
                <f:facet name="header">Preço</f:facet>
                <h:outputText value="#{livro.preco}">
                    <f:convertNumber type="currency" patter="R$: #0.00"
                        currencySymbol="R$" locale="pt_BR" />
                </h:outputText>
            </h:column>
            <h:column>
                <f:facet name="header" for="">Data de Lançamento</f:facet>
                <h:outputText value="#{livro.dataLancamento.time}">
                    <f:convertDateTime patter="dd/mm/yyyy" timeZone="America/Belem" />
                </h:outputText>
            </h:column>
        </h:dataTable>
    </ui:define>
</ui:composition>

</html>

agradeço se alguém poder me ajudar

1 resposta
solução!

já achei o problema estava em _templete.xhtml quando adicionei o

esqueci que na verdade tem que utilizar valeu ae

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software