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…