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

Não salva os atributos de Livro, somente preço.

A saída do console.

Livro Cadastrado: Livro [titulo=null, descricao=null, numPaginas=null, preco=56]

Meu form.xhtml

<!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://xmlns.jcp.org/jsf/html"
    xmlns:f="http://xmlns.jcp.org/jsf/core">

<h:form>

    <div>
        <h:outputLabel value="Título" />
        <h:inputText valeu="#{adminLivrosBean.livro.titulo}"/>
    </div>

    <div>
        <h:outputLabel value="Descrição" />
        <h:inputTextarea rows="4" cols="20" valeu="#{adminLivrosBean.livro.descricao}"/>
    </div>

    <div>
        <h:outputLabel value="Número de Páginas" />
        <h:inputText valeu="#{adminLivrosBean.livro.numPaginas}" />
    </div>

    <div>
        <h:outputLabel value="Preço" />
        <h:inputText value="#{adminLivrosBean.livro.preco}"/>

    </div>

    <h:commandButton value="Cadastrar" action="#{adminLivrosBean.salva}" />
</h:form>

</html>

Meu AdminLivrosBean.java

package br.com.casadocodigo.loja.beans;

import javax.enterprise.context.RequestScoped;
import javax.inject.Named;

import br.com.casadocodigo.loja.models.Livro;

@Named
@RequestScoped
public class AdminLivrosBean {

    private Livro livro = new Livro();

    public Livro getLivro() {
        return livro;
    }

    public void salva() {
        System.out.println("Livro Cadastrado: " + livro);
    }
}

Meu Livro.java

package br.com.casadocodigo.loja.models;

import java.math.BigDecimal;

public class Livro {

    private String titulo;
    private String descricao;
    private Integer numPaginas;
    private BigDecimal preco;

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public Integer getNumPaginas() {
        return numPaginas;
    }

    public void setNumPaginas(Integer numPaginas) {
        this.numPaginas = numPaginas;
    }

    public BigDecimal getPreco() {
        return preco;
    }

    public void setPreco(BigDecimal preco) {
        this.preco = preco;
    }

    @Override
    public String toString() {
        return "Livro [titulo=" + titulo + ", descricao=" + descricao + ", numPaginas=" + numPaginas + ", preco="
                + preco + "]";
    }

}
2 respostas
solução!

Eduardo

você colocou valeu ao inves de value nos inputText descrição, titulo e número de paginas. Só no preço que você colocou value corretamente

Puts! kkkk, valeu Jefferson (agora é "valeu" mesmo).

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