Boa noite Galera,
Estou iniciando o desenvolvimento do meu TCC e não consigo fazer com que o primefaces renderize corretamente.
Tenho o seguinte código:
package pojo;
public class Produto {
private Long id;
private String nome;
private Double preco;
public Produto(){
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public Double getPreco() {
return preco;
}
public void setPreco(Double preco) {
this.preco = preco;
}
}
package pojo;
import java.util.ArrayList;
import java.util.List;
public class Carrinho {
private List<Produto> produtos;
public Carrinho(){
this.produtos = new ArrayList<Produto>();
}
public List<Produto> getProdutos() {
return produtos;
}
public void setProdutos(List<Produto> produtos) {
this.produtos = produtos;
}
}
package controller;
import java.util.ArrayList;
import java.util.List;
import pojo.Produto;
public class ProdutoController {
private List<Produto> produtos = new ArrayList<Produto>();
private Produto produto;
public ProdutoController(){
produto = new Produto();
produto.setId(1l);
produto.setNome("Apontador");
produto.setPreco(1.0);
produto = new Produto();
produto.setId(2l);
produto.setNome("Lápis");
produto.setPreco(2.0);
produto = new Produto();
produto.setId(3l);
produto.setNome("Caneta");
produto.setPreco(3.0);
produto = new Produto();
produto.setId(4l);
produto.setNome("Caderno");
produto.setPreco(11.0);
}
public List<Produto> getProdutos(){
return produtos;
}
public void setProdutos(List<Produto> produtos){
this.produtos = produtos;
}
}
package controller;
import pojo.Carrinho;
import pojo.Produto;
public class CarrinhoController {
private Produto produto;
private Carrinho carrinho;
public CarrinhoController(){
this.carrinho = new Carrinho();
}
public void novoProduto(){
this.produto = new Produto();
}
public Produto getProduto() {
return produto;
}
public void setProduto(Produto produto) {
this.produto = produto;
}
public Carrinho getCarrinho() {
return carrinho;
}
public void setCarrinho(Carrinho carrinho) {
this.carrinho = carrinho;
}
}
<!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:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Trabalhando com PRIMEFACES</title>
<h:body>
<f:view>
<h:form>
<p:panel header="Produtos Cadastrados">
<p:outputPanel id="produtos">
<p:dataTable value="#{produtoController.produtos}" var="produto"
selectionMode="single" emptyMessage="Não há produtos cadastrados">
<p:column>
<f:facet name="header">
<h:outputText value="Código"/>
</f:facet>
<h:outputText value="#{produto.id}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Nome"/>
</f:facet>
<h:outputText value="#{produto.nome}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Preço"/>
</f:facet>
<h:outputText value="#{produto.preco}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Ação"/>
</f:facet>
<p:commandLink value="Adicionar ao Carrinho" actionListener="#{carrinhoController.novoProduto}">
<p:collector value="#{produto}" addTo="#{carrinhoController.carrinho.produtos}"/>
</p:commandLink>
</p:column>
</p:dataTable>
</p:outputPanel>
</p:panel>
<p:panel>
<p:commandButton value="Verificar carrinho de compras" update="carrinho"/>
</p:panel>
<p:panel header="Carrinho de Compras">
<p:outputPanel>
<p:dataTable id="carrinho"
value="#{carrinhoController.carrinho.produtos}"
var="produtoCarrinho"
selectionMode="single"
emptyMessage="Não há produtos no carrinho">
<p:column>
<f:facet name="header">
<h:outputText value="Código"/>
</f:facet>
<h:outputText value="#{produtoCarrinho.id}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Nome"/>
</f:facet>
<h:outputText value="#{produtoCarrinho.nome}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Preço"/>
</f:facet>
<h:outputText value="#{produtoCarrinho.preco}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Ação"/>
</f:facet>
<p:commandLink value="Remover do Carrinho">
<p:collector value="#{produtoCarrinho}" removeFrom="#{carrinhoController.carrinho.produtos}"/>
</p:commandLink>
</p:column>
</p:dataTable>
</p:outputPanel>
</p:panel>
</h:form>
</f:view>
</h:body>
</h:head>
</html>