Re: [javasf] Não acha o método do Controller

216 views
Skip to first unread message

Diogo Schmidt Soares

unread,
Dec 26, 2012, 2:14:31 PM12/26/12
to jav...@googlegroups.com
Uns dos erros que acontecem é esse:

HTTP Status 500 - /index.xhtml: Property 'handleFileUpload' not found on type br.com.adquirencia.validatif.controller.ValidaTifController


type Exception report

message /index.xhtml: Property 'handleFileUpload' not found on type br.com.adquirencia.validatif.controller.ValidaTifController

description The server encountered an internal error that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: /index.xhtml: Property 'handleFileUpload' not found on type br.com.adquirencia.validatif.controller.ValidaTifController
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:325)
	org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)

root cause

javax.el.ELException: /index.xhtml: Property 'handleFileUpload' not found on type br.com.adquirencia.validatif.controller.ValidaTifController
	com.sun.faces.facelets.compiler.AttributeInstruction.write(AttributeInstruction.java:87)
	com.sun.faces.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:75)
	com.sun.faces.facelets.compiler.UILeaf.encodeAll(UILeaf.java:176)
	javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
	javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:848)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:1613)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:1616)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:1616)
	com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:380)
	com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:126)
	com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:127)
	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
	org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.34 logs.




Em 26 de dezembro de 2012 16:40, Diogo Soares <diogop...@gmail.com> escreveu:
Galera estou migrando meu sistema para o primefaces 3 e qualquer componente que eu coloco no xhtml dá o erro dizendo que não pode localizar o método no controller, alguém sabe me dizer se falta alguma coisa?

--
Você está recebendo esta mensagem porque se inscreveu no grupo "javasf: JavaServer Faces Group" dos Grupos do Google.
Visite este grupo em http://groups.google.com/group/javasf?hl=pt-BR.
 
 



--
Sigam-me no Twitter.: @diogoprosoft
Meu Skype.: diogoprosoft
Meu msn.: diogop...@gmail.com
Meu Gtalk.: diogop...@gmail.com
Meu Facebook.: diogop...@gmail.com

Levy Moreira

unread,
Dec 26, 2012, 2:19:08 PM12/26/12
to jav...@googlegroups.com

Pode postar o bean? Usa o pastebin.com pode ser que esqueceu de anotar o bean ou algo assim :)

Enio Nunes

unread,
Dec 26, 2012, 2:21:01 PM12/26/12
to jav...@googlegroups.com
Com certeza deve ser as demais libs do seu projeto, olha na documentação do prime 3 quais as dependencias, versao do jsf etc.

Enio Nunes de Abreu

AMS Provider - Projetos de Sistemas

 "O mal só triunfa quando homens do bem se omitem.".

End.: Rua Oito, nr.73, Setor Central, Goiânia - GO - CEP 74013-030

Tel.: +55 (62) 3267-4495 / Tel. Móvel: +55 (62) 9333-7696

Visite nosso site: www.rwit.com.br

RedWhite-Logo         

image005


2012/12/26 Diogo Schmidt Soares <diogop...@gmail.com>

Diogo Schmidt Soares

unread,
Dec 26, 2012, 2:21:11 PM12/26/12
to jav...@googlegroups.com
Não consigo abrir esse site aqui na empresa. Mais vou postar o bean

package br.com.adquirencia.validatif.controller;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import javax.servlet.ServletContext;

import org.primefaces.event.FileUploadEvent;
import org.primefaces.model.UploadedFile;

@ManagedBean
@RequestScoped
public class ValidaTifController {

    public void handleFileUpload(FileUploadEvent event) {
       
        FacesContext context = FacesContext.getCurrentInstance(); 
        ServletContext sc = (ServletContext) context.getExternalContext().getContext();
       
        String caminho = sc.getRealPath("/upload/");
       
        try{
            UploadedFile arq = event.getFile();
            InputStream in = new BufferedInputStream(arq.getInputstream());
           
            if(new File(caminho).exists()){
                geraArquivo(caminho, arq.getFileName(), in);
            }else{
                new File(caminho).mkdir();
                geraArquivo(caminho, arq.getFileName(), in);
            }
        }catch (Exception e) {
            e.printStackTrace();
        }
                       
        System.out.println("Succesful "+ event.getFile().getFileName() + " is uploaded.");
        FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded."); 
        context.addMessage(null, msg);
    } 
       
    public void geraArquivo(String caminho, String nmArquivo, InputStream in) throws Exception{
        File file = new File(caminho+"/"+nmArquivo);

        FileOutputStream fout = new FileOutputStream(file);

        while (in.available() != 0) {
            fout.write(in.read());
        }
        fout.close();
    }
   
}



e o xhtml

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//Dp:column XHTML 1.0 Strict//BR"
    "http://www.w3.org/TR/xhtml1/Dp:column/xhtml1-strict.dp:column">
<html xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.prime.com.tr/ui" lang="pt-br">

<h:head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" lang="pt-br" />
    <title>Valida Tif</title>
</h:head>
<h:body>
    <f:view encoding="UTF-8">
        <h:form prependId="false" enctype="multipart/form-data" id="frmUpload" lang="pt" acceptcharset="UTF-8">
            <p:fileUpload fileUploadListener="#{validaTifController.handleFileUpload}" 
                mode="advanced"
                update="messages"
                sizeLimit="10000000"
                allowTypes="txt" />
              
             <p:growl id="messages" showDetail="true"/>
        </h:form>
    </f:view>
</h:body>
</html>


vou postar tbm o web.xml

<?xml version="1.0" encoding="UTF-8"?>
<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">
    <display-name>validatif</display-name>
    <welcome-file-list>
        <welcome-file>index.xhtml</welcome-file>
    </welcome-file-list>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.xhtml</url-pattern>
    </servlet-mapping>
    <context-param>
        <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>server</param-value>
    </context-param>
    <context-param>
        <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
        <param-value>resources.application</param-value>
    </context-param>
    <listener>
        <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
    </listener>     
    <filter>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
        <filter-class>
            org.primefaces.webapp.filter.FileUploadFilter
        </filter-class>
    </filter>
    <filter-mapping>
        <filter-name>PrimeFaces FileUpload Filter</filter-name>
        <servlet-name>Faces Servlet</servlet-name>
    </filter-mapping>
</web-app>

Diogo Schmidt Soares

unread,
Dec 26, 2012, 2:37:02 PM12/26/12
to jav...@googlegroups.com
Pior que estão todas as libs certas

antlr-runtime-3.0,jar
commons-dbcp.jar
commons-fileupload-1.2.2.jar
commons.io-2.0.1.jar
commons-loggoing-1.1.1.jar
commons-pool.jar
httpclient-4.1.2.jar
jcommon-1.0.16.jar
jsf.api.jar
jsf-impl.jar
jstl-1.1.2.jar
primefaces-3.4.2.jar

Lembrando que qualquer componente não acha o controller e não somente o upload

Enio Nunes

unread,
Dec 26, 2012, 2:47:30 PM12/26/12
to jav...@googlegroups.com
acho que nao :

jsf.api.jar
jsf-impl.jar

remove isso ai e coloca javax.faces-2.1.6.jar estou manando em anexo e faça o teste:



Enio Nunes de Abreu

AMS Provider - Projetos de Sistemas

 "O mal só triunfa quando homens do bem se omitem.".

End.: Rua Oito, nr.73, Setor Central, Goiânia - GO - CEP 74013-030

Tel.: +55 (62) 3267-4495 / Tel. Móvel: +55 (62) 9333-7696

Visite nosso site: www.rwit.com.br

RedWhite-Logo         

image005


Em 26 de dezembro de 2012 17:37, Diogo Schmidt Soares <diogop...@gmail.com> escreveu:
jsf.api.jar
jsf-impl.jar

javax.faces-2.1.6.jar

Diogo Schmidt Soares

unread,
Dec 26, 2012, 3:05:30 PM12/26/12
to jav...@googlegroups.com
O erro persiste!!!

E se eu volto tudo para o 2 funciona perfeitamente

HTTP Status 500 - /index.xhtml: Property 'handleFileUpload' not found on type br.com.adquirencia.validatif.controller.ValidaTifController


type Exception report

message /index.xhtml: Property 'handleFileUpload' not found on type br.com.adquirencia.validatif.controller.ValidaTifController

description The server encountered an internal error that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: /index.xhtml: Property 'handleFileUpload' not found on type br.com.adquirencia.validatif.controller.ValidaTifController
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
	org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)

root cause

javax.el.ELException: /index.xhtml: Property 'handleFileUpload' not found on type br.com.adquirencia.validatif.controller.ValidaTifController
	com.sun.faces.facelets.compiler.AttributeInstruction.write(AttributeInstruction.java:94)
	com.sun.faces.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:82)
	com.sun.faces.facelets.compiler.UILeaf.encodeAll(UILeaf.java:183)
	javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
	javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:1757)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
	com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:402)
	com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
	com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
	org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.34 logs.


Apache Tomcat/7.0.34




--
Você está recebendo esta mensagem porque se inscreveu no grupo "javasf: JavaServer Faces Group" dos Grupos do Google.
Visite este grupo em http://groups.google.com/group/javasf?hl=pt-BR.
 
 

Arthur Ferreira

unread,
Dec 26, 2012, 4:10:01 PM12/26/12
to jav...@googlegroups.com
Não sei se é esse o problema, mas tenta aí:

xmlns:p="http://primefaces.org/ui"

A configuração certa para os componentes do primefaces mais recente é essa daí.


2012/12/26 Diogo Schmidt Soares <diogop...@gmail.com>
O erro persiste!!!




--
Arthur Franco Ferreira 
Analista Desenvolvedor Web Java Pleno 
Licenciado em Computação 
UNILASALLE-RJ

Diogo Schmidt Soares

unread,
Dec 27, 2012, 6:15:45 AM12/27/12
to jav...@googlegroups.com
Galera consegui resolver esse problema, peguei o eclipse juno e ficou tudo certo, derrepente era algum problema de configuração do helios!!!!

Porém está acontecendo esse erro no componente Tree

java.util.logging.ErrorManager: 5
java.lang.NullPointerException
    at java.util.PropertyResourceBundle.handleGetObject(PropertyResourceBundle.java:136)
    at java.util.ResourceBundle.getObject(ResourceBundle.java:368)
    at java.util.ResourceBundle.getString(ResourceBundle.java:334)
    at java.util.logging.Formatter.formatMessage(Formatter.java:108)
    at java.util.logging.SimpleFormatter.format(SimpleFormatter.java:63)
    at java.util.logging.StreamHandler.publish(StreamHandler.java:177)
    at java.util.logging.ConsoleHandler.publish(ConsoleHandler.java:88)
    at java.util.logging.Logger.log(Logger.java:478)
    at java.util.logging.Logger.doLog(Logger.java:500)
    at java.util.logging.Logger.log(Logger.java:589)
    at com.sun.faces.mgbean.BeanBuilder.destroy(BeanBuilder.java:119)
    at com.sun.faces.mgbean.BeanManager.destroy(BeanManager.java:283)
    at com.sun.faces.application.WebappLifecycleListener.handleAttributeEvent(WebappLifecycleListener.java:314)
    at com.sun.faces.application.WebappLifecycleListener.requestDestroyed(WebappLifecycleListener.java:118)
    at com.sun.faces.config.ConfigureListener.requestDestroyed(ConfigureListener.java:366)
    at org.apache.catalina.core.StandardContext.fireRequestDestroyEvent(StandardContext.java:5982)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:207)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)

edinho freitas

unread,
Dec 27, 2012, 5:43:46 AM12/27/12
to jav...@googlegroups.com
Altera sua declaração do BEAN. 

@ManagedBean
(name="validaTifController ")
@RequestScoped
public class ValidaTifController {

edinho freitas

unread,
Dec 27, 2012, 5:55:24 AM12/27/12
to jav...@googlegroups.com
Só falei isso para teste mesmo por que ao que parece esta tudo certo,
Tenta também remover a tag <f:view>.




2012/12/27 edinho freitas <edifr...@gmail.com>

Everton Fujimoto

unread,
Dec 27, 2012, 9:22:31 AM12/27/12
to jav...@googlegroups.com
não lembro bem, mas acho que o fileupload do primefaces não funciona com bean de escopo request. Tem que ser pelo menos ViewScoped. 

Att.
Everton William Fujimoto
Hecate Systems
CIO
(47)3394-5516
(47)9947-5481

Diogo Schmidt Soares

unread,
Dec 27, 2012, 9:38:24 AM12/27/12
to jav...@googlegroups.com
Quanto ao FileUpload está funcionando perfeitamente, o problema que estou enfrentando agora é só com o Tree que está dando o erro ao inicializa-lo
Reply all
Reply to author
Forward
0 new messages