11:01:57,002 SEVERE [javax.enterprise.resource.webcontainer.jsf.application] (default task-3) Error Rendering View[/createPc.xhtml]: javax.el.PropertyNotFoundException: /createPc.xhtml @28,66 value=

16/07/2018

0

Olá galera! Eu to com um problema em um projeto JSF e já revisei o código milhares de vezes, não entendi bulhufas desse erro. Espero que vocês sejam mais espertos que eu e consigam encontrar :). Desde já obrigado.
Classe Montagem Computador
package entities;

public class MontagemDeComputador {
	private Peca cpu;
	private Peca placaMae;
	private Peca ram;
	private Peca hd;
	private Peca video;
	private Peca fonte;
	private double precoTotal;
	private String nome;
	private int id;
	private static int cont = 0;

	public Peca getCpu() {
		return cpu;
	}

	public void setCpu(Peca cpu) {
		this.cpu = cpu;
	}

	
	public Peca getRam() {
		return ram;
	}

	public void setRam(Peca ram) {
		this.ram = ram;
	}

	public double getPrecoTotal() {
		return precoTotal;
	}

	public void setPrecoTotal(double precoTotal) {
		this.precoTotal = precoTotal;
	}

	public Peca getHd() {
		return hd;
	}

	public void setHd(Peca hd) {
		this.hd = hd;
	}

	public Peca getVideo() {
		return video;
	}

	public void setVideo(Peca video) {
		this.video = video;
	}

	public Peca getFonte() {
		return fonte;
	}

	public void setFonte(Peca fonte) {
		this.fonte = fonte;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public static int getCont() {
		return cont;
	}

	public static void setCont(int cont) {
		MontagemDeComputador.cont = cont;
	}

	public MontagemDeComputador() {
		super();
		setId(cont++);
	}

	public Peca getPlacaMae() {
		return placaMae;
	}

	public void setPlacaMae(Peca placaMae) {
		this.placaMae = placaMae;
	}



}[ /code]
createPc.xhtml
[code=xml]<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://xmlns.jcp.org/jsf/html"
	xmlns:p="http://primefaces.org/ui"
	xmlns:f="http://xmlns.jcp.org/jsf/core">

<h:head>
	<title>KArtHugo PCs</title>
</h:head>

<h:body>
	<h:form>
		<p:growl id="growl" showDetail="true" sticky="true" />
		<p:tabMenu>
			<p:menuitem icon="ui-icon-disk" value="PCs Montados"
				url="pcsMontados.xhtml" />
			<p:menuitem icon="ui-icon-disk" value="Monte seu PC"
				url="createPc.xhtml" />
		</p:tabMenu>

		<p:panelGrid style="margin-botton:20px" columns="2" layout="grid">
			<p:outputLabel value="Nome do PC:" />
			<p:inputText id="nomePc" label="nome"
				value="#{computadorService.pc.nome}" style="width:350px" />

			<p:outputLabel value="Placa mãe:" />
			<p:selectOneMenu id="placaMae" converter="ConversorPeca" 
				style="width:350px" value="#{computadorService.pc.placaMae}">
				<f:selectItems value="#{computadorService.pecas}" var="placaMae"
					itemLabel="#{placaMae.nome}" itemValue="#" />
			</p:selectOneMenu>

			<p:outputLabel value="Processador:" />
			<p:selectOneMenu id="cpu" var="c" converter="ConversorPeca"
				panelStyle="width:350px" style="width:350px"
				value="#{computadorService.pc.cpu}">
				<f:selectItems value="#{computadorService.pecas}" var="cpu"
					itemLabel="#{cpu.nome}" itemValue="#" />
			</p:selectOneMenu>



			<p:outputLabel value="Fonte:" />
			<p:selectOneMenu id="fonte" var="f" converter="ConversorPeca"
				panelStyle="width:350px" style="width:350px"
				value="#{computadorService.pc.fonte}">
				<f:selectItems value="#{computadorService.pecas}" var="fonte"
					itemLabel="#{fonte.nome}" itemValue="#" />
			</p:selectOneMenu>
		</p:panelGrid>
		<p:panelGrid style="margin-botton:20px" columns="4" layout="grid">

			<p:outputLabel value="Memorias RAM:" />
			<p:selectOneMenu id="ram" var="r" converter="ConversorPeca"
				panelStyle="width:350px" style="width:350px"
				value="#{computadorService.pc.ram}">
				<f:selectItems value="#{computadorService.pecas}" var="ram"
					itemLabel="#{ram.nome}" itemValue="#" />
			</p:selectOneMenu>
			<p:outputLabel value="Quantidade: " />
			<p:spinner id="qntRam" style="width:300px"
				value="#{computadorService.pc.ram.quant}" />

			<p:outputLabel value="Memoria Fisica (HD):" />
			<p:selectOneMenu id="hd" var="h" converter="ConversorPeca"
				panelStyle="width:350px" style="width:350px"
				value="#{computadorService.pc.hd}">
				<f:selectItems value="#{computadorService.pecas}" var="hd"
					itemLabel="#{hd.nome}" itemValue="#" />
			</p:selectOneMenu>
			<p:outputLabel value="Quantidade: " />
			<p:spinner id="qntHd" style="width:300px"
				value="#{computadorService.pc.hd.quant}" />

			<p:outputLabel value="Placa de Video:" />
			<p:selectOneMenu id="video" var="v" converter="ConversorPeca"
				panelStyle="width:350px" style="width:350px"
				value="#{computadorService.pc.video}">
				<f:selectItems value="#{computadorService.pecas}" var="video"
					itemLabel="#{video.nome}" itemValue="#" />
			</p:selectOneMenu>
			<p:outputLabel value="Quantidade: " />
			<p:spinner id="qntVideo" style="width:300px"
				value="#{computadorService.pc.video.quant}" />

		</p:panelGrid>
		<p:commandButton value="Salvar Computador" update="growl"
			action="#{computadorService.salvarPc()}" />

	</h:form>
</h:body>
</html>


Classe Bean (Obs: Eu implementei o converter da classe Peça)

package beans;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ApplicationScoped;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;

import entities.MontagemDeComputador;
import entities.Peca;

@ApplicationScoped
@ManagedBean(name = "computadorService")
public class ComputadorBean {
	// Gerencia pecas
	private List<MontagemDeComputador> pcs = new ArrayList<MontagemDeComputador>();
	private MontagemDeComputador pcBuscado = new MontagemDeComputador();
	private MontagemDeComputador pcEditado;
	private MontagemDeComputador pc = new MontagemDeComputador();

	private static int cont = 0;
	private int qntRam;
	private int qntVideo;
	private int qntHd;
	private List<Peca> pecas = new ArrayList<Peca>();
public MontagemDeComputador getPc() {
		return pc;
	}

	public void setPc(MontagemDeComputador pc) {
		this.pc = pc;
	}
}
Arthur Soares

Arthur Soares

Responder

Posts

16/07/2018

Arthur Soares

O erro que o Eclipse me deu foi esse: Error Rendering View[/createPc.xhtml]: javax.el.PropertyNotFoundException: /createPc.xhtml @28,66 value="#{computadorService.pc.placamae}": The class 'entities.MontagemDeComputador' does not have the property 'placamae'.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar