Pessoal estou com uma dúvida, não estou conseguindo usar o <c:if>, acontece que tenho duas classes relacionadas com Many to Many criando uma terceira tabela no banco, e quando vou exibir os resultados na tela queria só aparecessem as peças que são relacionadas com aquele produto, mas ao invés disso está aparecendo a lista completa de peças o que devo fazer? Estou perdido! Vlw obrigado!
OBS: Da forma como está gera erro, mas se tiro o <c:if> ocorre o mencionado acima.
public class Produto {
@Id
@Column
private Integer codProduto;
@Column
private String descricaoProduto;
@Column
private String fornecedor;
@Column
private BigDecimal precoProduto;
@Column
private Integer qtdProdutoEstoque;
@ManyToMany
@JoinTable(name = "produto_peca", joinColumns = @JoinColumn(name = "produto_id"), inverseJoinColumns = @JoinColumn(name = "peca_id"))
private List<Peca> pecasProduto;
public Produto(String descricaoProduto, Integer codProduto, BigDecimal precoProduto, List<Peca> pecasProduto,
Integer qtdProdutoEstoque, String fornecedor) {
this.descricaoProduto = descricaoProduto;
this.codProduto = codProduto;
this.precoProduto = precoProduto;
this.pecasProduto = pecasProduto;
this.qtdProdutoEstoque = qtdProdutoEstoque;
this.fornecedor = fornecedor;
}
public Produto() {
}
public String getDescricaoProduto() {
return descricaoProduto;
}
public void setDescricaoProduto(String descricaoProduto) {
this.descricaoProduto = descricaoProduto;
}
public Integer getCodProduto() {
return codProduto;
}
public void setCodProduto(Integer codProduto) {
this.codProduto = codProduto;
}
public BigDecimal getPrecoProduto() {
return precoProduto;
}
public void setPrecoProduto(BigDecimal precoProduto) {
this.precoProduto = precoProduto;
}
public List<Peca> getPecasProduto() {
return pecasProduto;
}
public void setPecasProduto(List<Peca> pecasProduto) {
this.pecasProduto = pecasProduto;
}
public Integer getQtdProdutoEstoque() {
return qtdProdutoEstoque;
}
public void setQtdProdutoEstoque(Integer qtdProdutoEstoque) {
this.qtdProdutoEstoque = qtdProdutoEstoque;
}
public String getFornecedor() {
return fornecedor;
}
public void setFornecedor(String fornecedor) {
this.fornecedor = fornecedor;
}
}
public class Peca {
@Id
@Column
private Integer codPeca;
@Column
private String descricaoPeca;
@Column
private BigDecimal precoPeca;
@Column
private Integer qtdPecaEstoque;
@Column
private String fornecedor;
@ManyToMany(mappedBy = "pecasProduto")
private List<Produto> produtos;
public Peca(String descricaoPeca, Integer codPeca, BigDecimal precoPeca, Integer qtdPecaEstoque,
List<Produto> produtos, String fornecedor) {
this.descricaoPeca = descricaoPeca;
this.codPeca = codPeca;
this.precoPeca = precoPeca;
this.qtdPecaEstoque = qtdPecaEstoque;
this.produtos = produtos;
this.fornecedor = fornecedor;
}
public Peca() {
}
public String getDescricaoPeca() {
return descricaoPeca;
}
public void setDescricaoPeca(String descricaoPeca) {
this.descricaoPeca = descricaoPeca;
}
public Integer getCodPeca() {
return codPeca;
}
public void setCodPeca(Integer codPeca) {
this.codPeca = codPeca;
}
public BigDecimal getPrecoPeca() {
return precoPeca;
}
public void setPrecoPeca(BigDecimal precoPeca) {
this.precoPeca = precoPeca;
}
public Integer getQtdPecaEstoque() {
return qtdPecaEstoque;
}
public void setQtdPecaEstoque(Integer qtdPecaEstoque) {
this.qtdPecaEstoque = qtdPecaEstoque;
}
public List<Produto> getProdutos() {
return produtos;
}
public void setProdutos(List<Produto> produtos) {
this.produtos = produtos;
}
public String getFornecedor() {
return fornecedor;
}
public void setFornecedor(String fornecedor) {
this.fornecedor = fornecedor;
}
}
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:url value="/controller" var="LinkEntrada"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="${LinkEntrada }" method="post">
<ul>
<c:forEach items="${listaProdutos }" var="produto">
<li>Cód: ${produto.codProduto } / Produto: ${produto.descricaoProduto }/ Estoque: ${produto.qtdProdutoEstoque },
<ul>
<c:forEach items="${listaPecas }" var="peca">
<c:if test="${peca.produtos.codProduto == produto.codProduto }" >
<li>${peca.codPeca }, - ${peca.descricaoPeca }</li>
</c:if>
</c:forEach>
</ul>
</li>
</c:forEach>
</ul>
</form>
</body>
</html>