DataTable JSf RESOLVIDO

Essa é a minha table galera:

<p:outputPanel autoUpdate="true">
                        <p:dataTable var="caminho" value="#{noticiaController.imagensCaminho}" rows="6" paginator="true" selection="#{noticiaController.caminhoImagemPadrao}">
                            
                            <p:column headerText="#{msgs.imagem}">
                                <p:graphicImage value="#{caminho}" />
                            </p:column>
                        </p:dataTable>
                    </p:outputPanel>

Essa é minha classe de controller NoticiaController

package com.policia.controller;

import com.policia.business.NoticiaBO;
import com.policia.entidade.Noticia;
import com.policia.entidade.Noticiaimagem;
import com.policia.upload.ImageFileUpload;
import com.policia.util.Constantes;
import com.policia.util.JSFUtil;
import com.policia.util.Utils;
import java.io.File;
import java.io.FileOutputStream;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.io.IOUtils;
import org.primefaces.event.FileUploadEvent;

/**
 * @since 23/10/2012
 * @author Cristian Urbainski
 */
@ManagedBean
@ViewScoped
public class NoticiaController implements Serializable {
    
    private String acaoBotao;
    private Noticia noticia;
    
    private List<String> imagensCaminho;
    private String textNoticia;
    
    private String caminhoImagemPadrao = "";
    
    public NoticiaController() {
        HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
        String parameter = request.getParameter(Constantes.NOTICIA_ID);

        if(parameter == null) {
            this.acaoBotao = Constantes.SALVAR;
            this.noticia = new Noticia();
            this.noticia.setVisivel(Constantes.NOTICIA_VISIVEL);
            this.imagensCaminho = new ArrayList<String>();
        } else {
            try {
                this.acaoBotao = Constantes.ALTERAR;
                this.noticia = new NoticiaBO().findById(new Integer(parameter));
                for(int i = 0; i < this.noticia.getListaNoticiaimagem().size(); i++) {
                    Noticiaimagem notImg = this.noticia.getListaNoticiaimagem().get(i);
                    
                    ImageFileUpload file = new ImageFileUpload();
                    file.setContentType("image/" + notImg.getTipoImg());
                    file.setInputstream(Utils.toInputStream(notImg.getImagem()));
                    
                    FileUploadEvent event = new FileUploadEvent(null, file);
                    
                    fileUploadedListener(event);
                    
                }
            } catch (Exception e) {
                e.printStackTrace(System.err);
                JSFUtil.mensagemErro(e);
            }
        }
    }
    
    public void fileUploadedListener(FileUploadEvent event) {
        try {
            String user = UsuarioLogadoController.getCurrentInstance().nomeUsuario().replace(" ", "-");
            String tipo = event.getFile().getContentType().substring(event.getFile().getContentType().indexOf("/") + 1, event.getFile().getContentType().length());
            String imagem = Constantes.CAMINHO_SERVIDOR + Constantes.CAMINHO_IMAGENS + "imagem-" + user + "-" + this.imagensCaminho.size() + "." + tipo;

            byte img[] = IOUtils.toByteArray(event.getFile().getInputstream());

            FileOutputStream out = new FileOutputStream(imagem);
            out.write(img);
            out.flush();
            out.close();
            
            this.imagensCaminho.add("..\\" + Constantes.CAMINHO_IMAGENS + "imagem-" + user + "-" + this.imagensCaminho.size() + "." + tipo);

            Noticiaimagem notImg = new Noticiaimagem();
            notImg.setImagem(img);
            notImg.setTipoImg(tipo);
            
            if(this.noticia.getListaNoticiaimagem().isEmpty()) {
                notImg.setPrincipal(Constantes.NOTICIA_PRINCIAL_SIM);
            } else {
                notImg.setPrincipal(Constantes.NOTICIA_PRINCIAL_NAO);
            }
            
            this.noticia.getListaNoticiaimagem().add(notImg);
        } catch (Exception e) {
            e.printStackTrace(System.err);
            JSFUtil.mensagemErro(e);
        }
    }
    
    public void destroyImagens() {
        for(String caminho : this.imagensCaminho) {
            File f = new File(Constantes.CAMINHO_SERVIDOR + caminho.substring(2, caminho.length()));
            if(f.delete()) {
                System.out.println("Deletou o arquivo no diretorio --> " + caminho);
            } else {
                System.out.println("Não conseguio deletar o arquivo no diretorio --> " + caminho);
            }
        }
    }

    public String getAcaoBotao() {
        return acaoBotao;
    }

    public void setAcaoBotao(String acaoBotao) {
        this.acaoBotao = acaoBotao;
    }

    public Noticia getNoticia() {
        return noticia;
    }

    public void setNoticia(Noticia noticia) {
        this.noticia = noticia;
    }

    public List<String> getImagensCaminho() {
        return imagensCaminho;
    }

    public void setImagensCaminho(List<String> imagensCaminho) {
        this.imagensCaminho = imagensCaminho;
    }

    public String getTextNoticia() {
        return textNoticia;
    }

    public void setTextNoticia(String textNoticia) {
        this.textNoticia = textNoticia;
    }

    public String getCaminhoImagemPadrao() {
        return caminhoImagemPadrao;
    }

    public void setCaminhoImagemPadrao(String caminhoImagemPadrao) {
        this.caminhoImagemPadrao = caminhoImagemPadrao;
    }
    
}

e na hora de executar apareceu essa execeção e a minha table naum funciona

javax.servlet.ServletException: /restrito/cadastro_noticia.xhtml @48,175 selection="#{noticiaController.caminhoImagemPadrao}": Property ‘caminhoImagemPadrao’ not found on type com.policia.controller.NoticiaController

alguem tem alguma ideia do porque isso acontece ?
value galera…

[quote=CristianPalmaSola10]Essa é a minha table galera:

<p:outputPanel autoUpdate="true">
                        <p:dataTable var="caminho" value="#{noticiaController.imagensCaminho}" rows="6" paginator="true" selection="#{noticiaController.caminhoImagemPadrao}">
                            
                            <p:column headerText="#{msgs.imagem}">
                                <p:graphicImage value="#{caminho}" />
                            </p:column>
                        </p:dataTable>
                    </p:outputPanel>

Essa é minha classe de controller NoticiaController

package com.policia.controller;

import com.policia.business.NoticiaBO;
import com.policia.entidade.Noticia;
import com.policia.entidade.Noticiaimagem;
import com.policia.upload.ImageFileUpload;
import com.policia.util.Constantes;
import com.policia.util.JSFUtil;
import com.policia.util.Utils;
import java.io.File;
import java.io.FileOutputStream;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.io.IOUtils;
import org.primefaces.event.FileUploadEvent;

/**
 * @since 23/10/2012
 * @author Cristian Urbainski
 */
@ManagedBean
@ViewScoped
public class NoticiaController implements Serializable {
    
    private String acaoBotao;
    private Noticia noticia;
    
    private List<String> imagensCaminho;
    private String textNoticia;
    
    private String caminhoImagemPadrao = "";
    
    public NoticiaController() {
        HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
        String parameter = request.getParameter(Constantes.NOTICIA_ID);

        if(parameter == null) {
            this.acaoBotao = Constantes.SALVAR;
            this.noticia = new Noticia();
            this.noticia.setVisivel(Constantes.NOTICIA_VISIVEL);
            this.imagensCaminho = new ArrayList<String>();
        } else {
            try {
                this.acaoBotao = Constantes.ALTERAR;
                this.noticia = new NoticiaBO().findById(new Integer(parameter));
                for(int i = 0; i < this.noticia.getListaNoticiaimagem().size(); i++) {
                    Noticiaimagem notImg = this.noticia.getListaNoticiaimagem().get(i);
                    
                    ImageFileUpload file = new ImageFileUpload();
                    file.setContentType("image/" + notImg.getTipoImg());
                    file.setInputstream(Utils.toInputStream(notImg.getImagem()));
                    
                    FileUploadEvent event = new FileUploadEvent(null, file);
                    
                    fileUploadedListener(event);
                    
                }
            } catch (Exception e) {
                e.printStackTrace(System.err);
                JSFUtil.mensagemErro(e);
            }
        }
    }
    
    public void fileUploadedListener(FileUploadEvent event) {
        try {
            String user = UsuarioLogadoController.getCurrentInstance().nomeUsuario().replace(" ", "-");
            String tipo = event.getFile().getContentType().substring(event.getFile().getContentType().indexOf("/") + 1, event.getFile().getContentType().length());
            String imagem = Constantes.CAMINHO_SERVIDOR + Constantes.CAMINHO_IMAGENS + "imagem-" + user + "-" + this.imagensCaminho.size() + "." + tipo;

            byte img[] = IOUtils.toByteArray(event.getFile().getInputstream());

            FileOutputStream out = new FileOutputStream(imagem);
            out.write(img);
            out.flush();
            out.close();
            
            this.imagensCaminho.add("..\\" + Constantes.CAMINHO_IMAGENS + "imagem-" + user + "-" + this.imagensCaminho.size() + "." + tipo);

            Noticiaimagem notImg = new Noticiaimagem();
            notImg.setImagem(img);
            notImg.setTipoImg(tipo);
            
            if(this.noticia.getListaNoticiaimagem().isEmpty()) {
                notImg.setPrincipal(Constantes.NOTICIA_PRINCIAL_SIM);
            } else {
                notImg.setPrincipal(Constantes.NOTICIA_PRINCIAL_NAO);
            }
            
            this.noticia.getListaNoticiaimagem().add(notImg);
        } catch (Exception e) {
            e.printStackTrace(System.err);
            JSFUtil.mensagemErro(e);
        }
    }
    
    public void destroyImagens() {
        for(String caminho : this.imagensCaminho) {
            File f = new File(Constantes.CAMINHO_SERVIDOR + caminho.substring(2, caminho.length()));
            if(f.delete()) {
                System.out.println("Deletou o arquivo no diretorio --> " + caminho);
            } else {
                System.out.println("Não conseguio deletar o arquivo no diretorio --> " + caminho);
            }
        }
    }

    public String getAcaoBotao() {
        return acaoBotao;
    }

    public void setAcaoBotao(String acaoBotao) {
        this.acaoBotao = acaoBotao;
    }

    public Noticia getNoticia() {
        return noticia;
    }

    public void setNoticia(Noticia noticia) {
        this.noticia = noticia;
    }

    public List<String> getImagensCaminho() {
        return imagensCaminho;
    }

    public void setImagensCaminho(List<String> imagensCaminho) {
        this.imagensCaminho = imagensCaminho;
    }

    public String getTextNoticia() {
        return textNoticia;
    }

    public void setTextNoticia(String textNoticia) {
        this.textNoticia = textNoticia;
    }

    public String getCaminhoImagemPadrao() {
        return caminhoImagemPadrao;
    }

    public void setCaminhoImagemPadrao(String caminhoImagemPadrao) {
        this.caminhoImagemPadrao = caminhoImagemPadrao;
    }
    
}

e na hora de executar apareceu essa execeção e a minha table naum funciona

javax.servlet.ServletException: /restrito/cadastro_noticia.xhtml @48,175 selection="#{noticiaController.caminhoImagemPadrao}": Property ‘caminhoImagemPadrao’ not found on type com.policia.controller.NoticiaController

alguem tem alguma ideia do porque isso acontece ?
value galera…[/quote]

Faltou você colocar o get / set no seu atributo private List<String> imagensCaminho;

Na verdade amigo se voce reparar bem o get e set existem para todos os atributos que necessito na tela, e o atributo que ele não encontra não sei porque é o atributo: caminhoImagemPadrao que tambem possui get e set

verdade não havia reparado, eu tive certa vez este problema e era pq havia me esquecido de colocar o get / set … estranho, vc já tentou limpar o projeto e fazer um novo deploy …as vezes é sujeira …

Vou tentar amigo, talvez seja isso mesmo naum ha outra explicação para esse erro… qualquer coisa volto a postar…

Bom, fiz o seguinte fiz um revert no projeto refiz e sabe deus porque passou a funcionar, valeu pela resposta amigo…

bacana o importante é que deu certo …