Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

problema ao entrar na minha pagina.xhml

amigos estou tentando entrar na minha página .xhtml e não estou conseguindo

minha pagina

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition template="/WEB-INF/template/layoutPadrao.xhtml"
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    xmlns:f="http://xmlns.jcp.org/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui"
    xmlns:o="http://omnifaces.org/ui">

    <ui:define name="titulo">Cadastro de Fabricante</ui:define>

    <ui:define name="corpo">
        <f:metadata>
            <o:viewParam name="fabricante" value="#{cadastroFabricanteBean.fabricante}" />
            <f:viewAction action="#{cadastroFabricanteBean.inicializar()}" />
        </f:metadata>

        <h1>Cadastro de Fabricante</h1>

        <h:form id="frmCadastro">
            <p:messages id="messages" autoUpdate="true" closable="true" />

            <p:toolbar style="margin-top: 20px">
                <p:toolbarGroup>
                    <p:commandButton value="Salvar"
                        action="#{cadastroFabricanteBean.salvar}" id="botaoSalvar"
                        update="frmCadastro" />
                </p:toolbarGroup>
                <p:toolbarGroup align="right">
                    <p:button value="Pesquisa" outcome="pesquisaFabricante" />
                </p:toolbarGroup>
            </p:toolbar>

            <p:panelGrid columns="2" id="painel"
                style="width: 100%; margin-top: 20px" columnClasses="rotulo, campo">
                <p:outputLabel value="Código" for="codigo" />
                <p:inputText id="codigo"
                    value="#{cadastroFabricanteBean.fabricante.codigo}" size="20"
                    maxlength="20" readonly="true" />

                <p:outputLabel value="Nome" for="nome" />
                <p:inputText id="nome"
                    value="#{cadastroFabricanteBean.fabricante.nome}" size="60"
                    maxlength="80" />

            </p:panelGrid>
        </h:form>
    </ui:define>
</ui:composition>

meu Bean

import java.io.Serializable;

import javax.faces.view.ViewScoped;
import javax.inject.Inject;
import javax.inject.Named;

import org.omnifaces.util.Messages;

import modelo.Fabricante;
import service.FabricanteService;
import util.NegocioException;

@Named
@ViewScoped
public class CadastroFabricanteBean implements Serializable {

    private static final long serialVersionUID = 1L;

    @Inject
    private FabricanteService cadastroFabricanteService;

    private Fabricante fabricante;

    public void inicializar() {
        if (this.fabricante == null) {
            limpar();
        }
    }

    public void salvar()throws NegocioException {
        try {
            cadastroFabricanteService.salvar(fabricante);
            Messages.addGlobalInfo("Fabricante salvo com sucesso!");
            limpar();
        } catch (NegocioException e) {
            Messages.addGlobalInfo(e.getMessage());
        }
    }

    public Fabricante getFabricante() {
        return fabricante;
    }

    public void setFabricante(Fabricante fabricante) {
        this.fabricante = fabricante;
    }

    public boolean isEditando() {
        return this.fabricante.getCodigo() != null;
    }

    private void limpar() {
        this.fabricante = new Fabricante();
    }

}
4 respostas

Opa, qual o problema está acontecendo? Olhar o código e inferir o erro, sem nenhuma dica, é bem complicado :).

Olá, tinha esquecido de informar. ao tentar carregar meu meu Bean ele não consegue carregar meu PostConstruct

solução!

Mas nesse código que vc postou não tem nenhum método anotado com isso :).

Opa! Faltou o @PostConstruct no meu Bean. Ou seja, o método inicializar() está solto, no caso não irá encontrar.

Obrigado pela Força!