esse aqui ta funcionando legal mais tu tem que tratar a session
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:c="http://java.sun.com/jsf/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:t="http://myfaces.apache.org/tomahawk" template="/template.xhtml">
value="#{clienteManagedBean.cliente.nome}" size="40" />
requiredMessage="CPF é obrigatoria"
value="#{clienteManagedBean.cliente.cpf}">
timing="onload" />
id="telefone" />
timing="onload" />
size="40" />
value="#{clienteManagedBean.cliente.dataNascimento}"
datePattern="dd/M/yyyy" cellWidth="20px" cellHeight="22px"
style="width:160px" />
fileUploadListener="#{clienteManagedBean.listener}" id="upload"
immediate="false" immediateUpload="true"
acceptedTypes="jpg, gif, png, bmp" clearAllControlLabel="Limpar"
stopEntryControlLabel="Parar Processo" listWidth="375px"
listHeight="150px">
value="#{clienteManagedBean.cliente.foto}" var="file" rowKeyVar="row">
createContent="#{clienteManagedBean.paint}" value="#{row}"
style="width:100px; height:100px;" cacheable="false" session="true">
value="#{clienteManagedBean.dependente.nomeDependete}" />
value="#{clienteManagedBean.dependente.grauDeParentesco}">
action="#{clienteManagedBean.salvarDependente}" value="Salvar" />
[code]public class ClienteManagedBean implements Serializable{
Dependente dependente = new Dependente();
Cliente cliente = new Cliente();
private List<Cliente> buscarClientes;
private List<SelectItem> grauDeparentescos;
CilenteRepositorio clienteRepositorio = new CilenteRepositorio();
FileRepositorio fileRepositorio = new FileRepositorio();
boolean novaImagem;
File imagemAnterior;
boolean alterarDep;
Integer posicao;
private File file = new File();
public List<SelectItem> getGrauDeparentescos() {
if (grauDeparentescos == null) {
grauDeparentescos = new ArrayList<SelectItem>();
GrauDeParentesco[] grauDeParentescoList = GrauDeParentesco.values();
for (int i = 0; i < grauDeParentescoList.length; i++) {
grauDeparentescos.add(new SelectItem(grauDeParentescoList[i],
grauDeParentescoList[i].name()));
}
}
return grauDeparentescos;
}
public void listener(UploadEvent event) throws Exception {
UploadItem item = event.getUploadItem();
File file = new File();
file.setTipo(item.getContentType());
file.setLength(item.getData().length);
file.setNome(item.getFileName());
file.setImagem(item.getData());
cliente.setFoto(file);
novaImagem = true;
}
public void paint(OutputStream stream, Object object) throws IOException {
byte[] imgBytes = cliente.getFoto().getImagem();
BufferedImage img = ImageIO.read(new BufferedInputStream(new ByteArrayInputStream(imgBytes)));
ImageIO.write(img,"jpeg",stream);
}
public long getTimeStamp() {
return System.currentTimeMillis();
}
public void salvar() {
try {
if (clienteRepositorio.buscarCpf(cliente.getCpf()) != null
&& !clienteRepositorio.buscarCpf(cliente.getCpf())
.isEmpty() && cliente.getId() == null) {
addMessage("CPF já cadastrado", FacesMessage.SEVERITY_INFO);
} else {
clienteRepositorio.salvar(cliente);
if (imagemAnterior != null && novaImagem) {
fileRepositorio.remover(imagemAnterior);
}
imagemAnterior = null;
novaImagem = false;
addMessage("Cliente salvo com sucesso",
FacesMessage.SEVERITY_INFO);
cliente = new Cliente();
}
} catch (Exception e) {
e.printStackTrace();
addMessage("Falha ao salvar o cliente", FacesMessage.SEVERITY_ERROR);
}
}
public List<Cliente> getListaTodosOsClientes() {
return clienteRepositorio.buscarTodosClientes();
}
public void pesqFilme() {
if ((cliente.getNome() == null || cliente.getNome().trim().isEmpty())
&& cliente.getCpf() == null) {
buscarClientes = getListaTodosOsClientes();
} else {
buscarClientes = clienteRepositorio.pesquisaClientePor(cliente
.getNome(), cliente.getCpf());
}
cliente = new Cliente();
}
public String editar() {
FacesContext context = FacesContext.getCurrentInstance();
Map<String, String> requestMap = context.getExternalContext()
.getRequestParameterMap();
Long id = Long.parseLong(requestMap.get("id"));
cliente = clienteRepositorio.buscarPeloIdCliente(id);
imagemAnterior = cliente.getFoto();
return "cadCliente";
}
public String remover() {
FacesContext context = FacesContext.getCurrentInstance();
Map<String, String> requestMap = context.getExternalContext()
.getRequestParameterMap();
Long id = Long.parseLong(requestMap.get("id"));
cliente = clienteRepositorio.buscarPeloIdCliente(id);
clienteRepositorio.remover(cliente);
cliente = new Cliente();
buscarClientes = null;
return "pesqCliente";
}
public void salvarDependente() {
if (cliente.getDependente() == null) {
cliente.setDependente(new ArrayList<Dependente>());
}
if (alterarDep) {
cliente.getDependente().set(posicao, dependente);
} else if (cliente.getDependente().size() < 3) {
cliente.getDependente().add(dependente);
} else if (cliente.getDependente().size() >= 3) {
addMessage("Maximo de dependente são 3",
FacesMessage.SEVERITY_ERROR);
}
alterarDep = false;
dependente = new Dependente();
}
public void alterardependente() {
FacesContext context = FacesContext.getCurrentInstance();
Map<String, String> requestMap = context.getExternalContext()
.getRequestParameterMap();
posicao = Integer.parseInt(requestMap.get("posicao"));
dependente = cliente.getDependente().get(posicao);
alterarDep = true;
}
public void removerdependente() {
FacesContext context = FacesContext.getCurrentInstance();
Map<String, String> requestMap = context.getExternalContext()
.getRequestParameterMap();
Integer posicao = Integer.parseInt(requestMap.get("posicao"));
cliente.getDependente().remove(posicao.intValue());
}
public static void addMessage(String messageText, Severity typeMessage) {
FacesContext context = FacesContext.getCurrentInstance();
FacesMessage message = new FacesMessage(typeMessage, messageText, null);
context.addMessage(null, message);
}
public List<Cliente> getBuscarClientes() {
return buscarClientes;
}
public void setBuscarClientes(List<Cliente> buscarClientes) {
this.buscarClientes = buscarClientes;
}
public File getFile() {
return file;
}
public void setFile(File file) {
this.file = file;
}
public void setGrauDeparentescos(List<SelectItem> grauDeparentescos) {
this.grauDeparentescos = grauDeparentescos;
}
public Dependente getDependente() {
return dependente;
}
public void setDependente(Dependente dependente) {
this.dependente = dependente;
}
public Cliente getCliente() {
return cliente;
}
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
}
ai como te disse tu tem que por o scop como session oks ai tu trata para iniciar e feixar a sesão
se quizer te mando o meu exemplo todo é uma locadora o primeiro projeto :p
add ai no gtalk e no msn
[email removido]
[email removido]