3
respostas

Retorno nulo

Segui todos os detalhes, porem como estou utilizando JSP e não XHTML, o retorno sempre me dá nulo:

Produto cadastrado: Produto [id=0, nome=null, descricao=null, preco=null]

Segue meu Bean e meu JSP.

package br.unemat.digera.beans;

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

import br.unemat.digera.modelos.Produto;

@Named
@Dependent
public class AdminProdutosBean {

    private Produto produto = new Produto();

    public void salvar(){
        System.out.println("Produto cadastrado: " + produto);
    }

    public Produto getProduto() {
        return produto;
    }

    public void setProduto(Produto produto) {
        this.produto = produto;
    }

}
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib tagdir="/WEB-INF/tags" prefix="erro"%>

<%@ include file="/WEB-INF/jsp/header.jsp"%>
<%@ include file="/WEB-INF/jsp/dropmenu.jsp"%>

<form method="post" action="${adminProdutosBean.salvar()}">
    <div class="form-group row">
        <label class="col-xs-2 col-form-label" for="nome">Nome:</label>
        <div class="col-xs-12">
            <input type="text" name="produto.nome" id="nome" class="form-control"
                value="${adminProdutosBean.produto.nome}" />
        </div>
    </div>
    <erro:validationMessage name="produto.nome" />

    <div class="form-group row">
        <label class="col-xs-2 col-form-label" for="descricao">Descrição:</label>
        <div class="col-xs-12">
            <input type="text" name="produto.descricao" id="descricao"
                class="form-control" value="${adminProdutosBean.produto.descricao}" />
        </div>
    </div>
    <erro:validationMessage name="produto.descricao" />

    <div class="form-group row">
        <label class="col-xs-2 col-form-label" for="preco">Preço:</label>
        <div class="col-xs-12">
            <input type="text" id="preco" class="form-control"
                name="produto.preco" value="${adminProdutosBean.produto.preco}" />
        </div>
    </div>
    <erro:validationMessage name="produto.preco" />

<!--    <div class="form-group">
        <label for="lista">Usuario:</label> <select name="lista" class="form-control"
            id="lista">
            <c:forEach items="${produtos.usuarios}" var="usuario">
                <option value="${usuario.nome}"></option>
            </c:forEach>
        </select>
    </div> -->

    <button type="submit" class="btn btn-success" value="Cadastrar"
        class="btn">Cadastrar</button>
</form>
<%@ include file="/WEB-INF/jsp/footer.jsp"%>

Como proceder?

3 respostas

Li pouco sobre a tag: jsp:useBean. Será que essa tag que está faltando para funcionar minha pagina? Se sim, qual a forma correta de usar essa tag?

Boa tarde Victor, nesse caso você precisa usar xhtml mesmo , pois a forma que eles trabalham são diferentes

Mas dá pra usar o Bootstrap com o XHTML?