Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit ed29b40

Browse files
Aula 03 - Conteúdo Final
Arquivos da AUla 03 - Cadastro de preços do produto
1 parent ed49825 commit ed29b40

File tree

6 files changed

+71
-7
lines changed

6 files changed

+71
-7
lines changed

‎casadocodigo/src/main/java/br/com/casadocodigo/loja/conf/JPAConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
2626

2727
DriverManagerDataSource dataSource = new DriverManagerDataSource();
2828
dataSource.setUsername("postgres");
29-
dataSource.setPassword("************");
29+
dataSource.setPassword("B*******7");//configurar a senha
3030
dataSource.setUrl("jdbc:postgresql://localhost:5432/casadocodigo");
3131
dataSource.setDriverClassName("org.postgresql.Driver");
3232

‎casadocodigo/src/main/java/br/com/casadocodigo/loja/controllers/ProdutosController.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33
import org.springframework.beans.factory.annotation.Autowired;
44
import org.springframework.stereotype.Controller;
55
import org.springframework.web.bind.annotation.RequestMapping;
6+
import org.springframework.web.servlet.ModelAndView;
67

78
import br.com.casadocodigo.loja.daos.ProdutoDAO;
89
import br.com.casadocodigo.loja.models.Produto;
10+
import br.com.casadocodigo.loja.models.TipoPreco;
911

1012
@Controller
1113
public class ProdutosController {
@@ -15,8 +17,11 @@ public class ProdutosController {
1517

1618

1719
@RequestMapping("/produtos/form")
18-
public String form() {
19-
return "produtos/form";
20+
public ModelAndView form() {
21+
ModelAndView modelAndView = new ModelAndView("produtos/form");
22+
modelAndView.addObject("tipos",TipoPreco.values());
23+
24+
return modelAndView;
2025
}
2126

2227
@RequestMapping("/produtos")
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package br.com.casadocodigo.loja.models;
2+
3+
import java.math.BigDecimal;
4+
5+
import javax.persistence.Embeddable;
6+
7+
@Embeddable
8+
public class Preco {
9+
10+
private BigDecimal valor;
11+
private TipoPreco tipo;
12+
13+
14+
public BigDecimal getValor() {
15+
return valor;
16+
}
17+
public void setValor(BigDecimal valor) {
18+
this.valor = valor;
19+
}
20+
public TipoPreco getTipo() {
21+
return tipo;
22+
}
23+
public void setTipo(TipoPreco tipo) {
24+
this.tipo = tipo;
25+
}
26+
27+
28+
}

‎casadocodigo/src/main/java/br/com/casadocodigo/loja/models/Produto.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package br.com.casadocodigo.loja.models;
22

3+
import java.util.List;
4+
5+
import javax.persistence.ElementCollection;
36
import javax.persistence.Entity;
47
import javax.persistence.GeneratedValue;
58
import javax.persistence.GenerationType;
@@ -11,10 +14,14 @@ public class Produto {
1114
@Id
1215
@GeneratedValue(strategy=GenerationType.IDENTITY)
1316
private int id;
17+
1418
private String titulo;
1519
private String descricao;
1620
private int paginas;
1721

22+
@ElementCollection
23+
private List<Preco> precos;
24+
1825

1926
public String getTitulo() {
2027
return titulo;
@@ -35,6 +42,18 @@ public void setPaginas(int paginas) {
3542
this.paginas = paginas;
3643
}
3744

45+
public int getId() {
46+
return id;
47+
}
48+
public void setId(int id) {
49+
this.id = id;
50+
}
51+
public List<Preco> getPrecos() {
52+
return precos;
53+
}
54+
public void setPrecos(List<Preco> precos) {
55+
this.precos = precos;
56+
}
3857
@Override
3958
public String toString() {
4059
return "Produto [titulo=" + titulo + ",descricao=" + descricao + ",paginas="
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package br.com.casadocodigo.loja.models;
2+
3+
public enum TipoPreco {
4+
5+
EBOOK, IMPRESSO, COMBO;
6+
}

‎casadocodigo/src/main/webapp/WEB-INF/views/produtos/form.jsp

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<%@ page language="java" contentType="text/html; charset=UTF-8"
22
pageEncoding="UTF-8"%>
3+
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
34
<!DOCTYPE html>
45
<html>
56
<head>
@@ -10,17 +11,22 @@
1011
<body>
1112
<form action="/casadocodigo/produtos" method="post">
1213
<div>
13-
<label>Titulo</label>
14-
<input type="text" name="titulo">
14+
<label>Titulo</label> <input type="text" name="titulo">
1515
</div>
1616
<div>
1717
<label>Descrição</label>
1818
<textarea rows="10" cols="20" name="descricao"></textarea>
1919
</div>
2020
<div>
21-
<label>Páginas</label>
22-
<input type="text" name="paginas">
21+
<label>Páginas</label> <input type="text" name="paginas">
2322
</div>
23+
<c:forEach items="${tipos}" var="tipoPreco" varStatus="status">
24+
<div>
25+
<label>${tipoPreco}</label>
26+
<input type="text" name="precos[${status.index}].valor">
27+
<input type="hidden" name="precos[${status.index}].tipo" value="${tipoPreco}">
28+
</div>
29+
</c:forEach>
2430
<button type="submit">Cadastrar</button>
2531
</form>
2632
</body>

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /