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

Não consigo atribuir os preços no produto

Quando tento inserir os preços do livro atraves do meu formulario, meu jsp informa o seguinte erro : HTTP Status 400 - The request sent by the client was syntactically incorrect.

Se eu não inserir os preços dos produtos, o formulário funciona.

Segue minhas classes

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!DOCTYPE html>

Titulo
descrição
paginas
${tipoPreco}

Produto

package br.com.casadocodigo.loja.models;

import java.util.List;

import javax.persistence.ElementCollection; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id;

@Entity public class Produto { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Long id;

private String titulo;

private String descricao;

private Integer pagina;

@ElementCollection private List precos;

public Long getId() { return id; } public void setId(Long id) { this.id = id; } 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 getPagina() { return pagina; } public void setPagina(Integer pagina) { this.pagina = pagina; }

public List getPrecos() { return precos; } public void setPrecos(List precos) { this.precos = precos; } @Override public String toString() { return "Produto [id=" + id + ", titulo=" + titulo + ", descricao=" + descricao + ", pagina=" + pagina + "]"; }

}

Preco

package br.com.casadocodigo.loja.models;

import java.math.BigDecimal;

import javax.persistence.Embeddable;

@Embeddable public class Preco {

private TipoPreco tipo; private BigDecimal valor;

public TipoPreco getTipo() { return tipo; } public void setTipo(TipoPreco tipo) { this.tipo = tipo; } public BigDecimal getValor() { return valor; } public void setValor(BigDecimal valor) { this.valor = valor; }

}

1 resposta
solução!

Resolvvido, estava inserindo os valores com ,virgula e não ponto.

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