Erro javax.servlet.ServletException: javax.el.PropertyNotFoundException

9 respostas
D

Pessoal,

Eu estou desenvolvendo um projeto utilizando jsf 2.0 e estou com um erro chatinho aqui. Já procurei mas não encontrei como solucioná-lo =/

O erro ocorre quando eu clico no botão “ENTRAR”.

Tenho um xhtml

<!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:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.prime.com.tr/ui">

<h:head>
	<link rel="stylesheet" type="text/css" media="screen"
		href="../css/menu.css" />
</h:head>
<h:body>
<h:form>
	<div id="menuTop">
	      
	<label id="label">E-mail:</label> 
		<h:inputText id="nomeCliente"></h:inputText>
		   <label id="label">Senha:</label> 
		<h:inputText id="senhaCliente"></h:inputText>   
		     
		<h:commandLink value="Entrar" action="#{clienteController.handleUser}" styleClass="button">
		<h:graphicImage url="../images/button.png"></h:graphicImage>
		</h:commandLink>
		
		<!-- <a href="" class="button"><img src="../images/button.png" border="0"/>Entrar</a> -->
		      
		      
		<a  >Cadastra-se</a>
	&lt;/div&gt;
	<img   />
	&lt;div id="menucontainer"&gt;

		<ul >
			<li><a >&nbsp;Home&nbsp;</a>
			</li>
			<li><a >&nbsp;Produtos&nbsp;</a>
			</li>
			<li><a >&nbsp;Empresa&nbsp;</a>
			</li>
			<li><a >&nbsp;Notícias&nbsp;</a>
			</li>
			<li><a >&nbsp;Localização&nbsp;</a>
			</li>
			<li><a >&nbsp;Fale Conosco&nbsp;</a>
			</li>
			<li><a >&nbsp;Vídeos&nbsp;</a>
			</li>
			<li><a >&nbsp;Atendimento&nbsp;</a>
			</li>
		</ul>
	&lt;/div&gt;
	&lt;/h:form&gt;
&lt;/h:body&gt;
&lt;/html&gt;

E um controller

package br.com.nativa.controller;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import br.com.nativa.bean.Cliente;

@ManagedBean
@SessionScoped
public class ClienteController {
	
	public void handleUser(){
		
		Cliente cli = new Cliente();
		cli.getCep();
		System.out.println("Ok");
	}

}

O meu stacktracer é o seguinte:

11/07/2011 10:31:30 com.sun.faces.application.ActionListenerImpl processAction
GRAVE: javax.el.PropertyNotFoundException: /jsp/menu.xhtml @23,94 action="#{clienteController.handleUser}": Target Unreachable, identifier 'clienteController' resolved to null
javax.faces.el.EvaluationException: javax.el.PropertyNotFoundException: /jsp/menu.xhtml @23,94 action="#{clienteController.handleUser}": Target Unreachable, identifier 'clienteController' resolved to null
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:95)
	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
	at javax.faces.component.UICommand.broadcast(UICommand.java:315)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:162)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: javax.el.PropertyNotFoundException: /jsp/menu.xhtml @23,94 action="#{clienteController.handleUser}": Target Unreachable, identifier 'clienteController' resolved to null
	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:107)
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
	... 24 more
11/07/2011 10:31:30 com.sun.faces.lifecycle.InvokeApplicationPhase execute
AVISO: #{clienteController.handleUser}: javax.el.PropertyNotFoundException: /jsp/menu.xhtml @23,94 action="#{clienteController.handleUser}": Target Unreachable, identifier 'clienteController' resolved to null
javax.faces.FacesException: #{clienteController.handleUser}: javax.el.PropertyNotFoundException: /jsp/menu.xhtml @23,94 action="#{clienteController.handleUser}": Target Unreachable, identifier 'clienteController' resolved to null
	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
	at javax.faces.component.UICommand.broadcast(UICommand.java:315)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:162)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: javax.faces.el.EvaluationException: javax.el.PropertyNotFoundException: /jsp/menu.xhtml @23,94 action="#{clienteController.handleUser}": Target Unreachable, identifier 'clienteController' resolved to null
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:95)
	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
	... 23 more
Caused by: javax.el.PropertyNotFoundException: /jsp/menu.xhtml @23,94 action="#{clienteController.handleUser}": Target Unreachable, identifier 'clienteController' resolved to null
	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:107)
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
	... 24 more
11/07/2011 10:31:30 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() for servlet [Faces Servlet] in context with path [/ComercialNativa] threw exception [javax.el.PropertyNotFoundException: /jsp/menu.xhtml @23,94 action="#{clienteController.handleUser}": Target Unreachable, identifier 'clienteController' resolved to null] with root cause
javax.el.PropertyNotFoundException: /jsp/menu.xhtml @23,94 action="#{clienteController.handleUser}": Target Unreachable, identifier 'clienteController' resolved to null
	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:107)
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
	at javax.faces.component.UICommand.broadcast(UICommand.java:315)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:162)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

Tentei fazer algumas alterações mas em nenhuma obtive sucesso…

Se alguém puder me auxiliar, agradeço :wink:

9 Respostas

P

não esta faltando as taglibs, tipo expression language, os jars do jstl e a declaração na página?

att,

D

Oi pedruhenrik,

Em primeiro lugar, obrigada por responder
Então, eu já coloquei todos os jars do jstl… E nada =/

P

Ola amigo, vc declarou seu controler no manageBean ou se estiver usando a injeção de dependencia, marcou o seu controle para ser injetado, o que eu identifiquei nao é erro da EL e sim do atributo conttroler que nao foi localizado, ou seja nao está carregado no seu managebean.

Espero ter ajudado
Fallow

D

Paulo,

Sinceramente, eu não entendi o que você quis dizer, pq o meu ClienteController está declarado como @ManagedBean… seria isso?

P

Olá amigo, mas o fato de estar declarado nao quer dizer que está injetado. Vc vai precisar debugar a crição desse objeto, talvez no construtor. Para saber se ele está sendo instanciado, e talvez esteja ai o problema.

Fallow

D

Então…

Eu até tentei debugar, o problema é que ele nem entra no construtor e já dá o erro =/

P

Aqui eu identifiquei que seu controller nao está sendo encontrado, por isso indiquei debugar o construtor.

veja:

javax.faces.el.EvaluationException: javax.el.PropertyNotFoundException: /jsp/menu.xhtml @23,94 action="#{clienteController.handleUser}": Target Unreachable, identifier 'clienteController' resolved to null

Voce usa JSF 2.0?, verifique as configurações no seu web.xml e veja se o listener do JSF está sendo carregado, pois oq ue parece é que não está carregando seus beans declarados com o @ManagedBean

veja esse link
Fallow

D

Paulo, creio q vc não mandou o link… =/

mas o meu web.xml está assim

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"&gt;
  &lt;display-name&gt;ComercialNativa&lt;/display-name&gt;
  &lt;welcome-file-list&gt;
    &lt;welcome-file&gt;index.html&lt;/welcome-file&gt;
    &lt;welcome-file&gt;index.htm&lt;/welcome-file&gt;
    &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;
    &lt;welcome-file&gt;default.html&lt;/welcome-file&gt;
    &lt;welcome-file&gt;default.htm&lt;/welcome-file&gt;
    &lt;welcome-file&gt;default.jsp&lt;/welcome-file&gt;
  &lt;/welcome-file-list&gt;
  &lt;servlet&gt;
    &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
    &lt;servlet-class&gt;javax.faces.webapp.FacesServlet&lt;/servlet-class&gt;
    &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
  &lt;/servlet&gt;
  &lt;servlet-mapping&gt;
    &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
    &lt;url-pattern&gt;*.jsf&lt;/url-pattern&gt;
  &lt;/servlet-mapping&gt;
  &lt;context-param&gt;
    &lt;description&gt;State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2&lt;/description&gt;
    &lt;param-name&gt;javax.faces.STATE_SAVING_METHOD&lt;/param-name&gt;
    &lt;param-value&gt;client&lt;/param-value&gt;
  &lt;/context-param&gt;
  &lt;context-param&gt;
    &lt;param-name&gt;javax.servlet.jsp.jstl.fmt.localizationContext&lt;/param-name&gt;
    &lt;param-value&gt;resources.application&lt;/param-value&gt;
  &lt;/context-param&gt;
  &lt;listener&gt;
    &lt;listener-class&gt;com.sun.faces.config.ConfigureListener&lt;/listener-class&gt;
  &lt;/listener&gt;
&lt;/web-app&gt;

Creio eu que esteja correto, pelo pouquinho q estudei de JSF… mas… Não sei.rs

K

Só consegui sair desse erro depois de dar um Clean no Projeto e no Tomcat.

Criado 11 de julho de 2011
Ultima resposta 25 de mar. de 2012
Respostas 9
Participantes 4