Ola pessoal tudo bem ???
Gostaria que se possivel alguem pudesse me ajudar com o, selectOneMenu, acho que a minha duvida é simples mas nao estou conseguindo achar o solucao na internet.
meu problema é o seguinte, estou fazendo um exemplo simples de pagina de cadastro de cliente, onde eu devo cadastrar no cliente de qual filial ele pertence, apenas para exemplos didaticos, entao na pagna do cliente eu tenho um selectOneMenu, que deve carregar altomaticamente as filias disponiveis, ai e que esta problema o selectOneMenu nao esta carregando altomaticamente quando eu inicio a pagina e não sei porque, algume pode me ajudar ??? to postando o codigo abaixo, desde ja agradeço muito.
CadastroCliente.xhtml:
<?xml version='1.0' encoding='UTF-8' ?>
<!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:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
Cadastrar Cliente
<h:form>
<h:panelGrid columns="2">
<h:outputText value="Nome"/>
<h:inputText id="txtNome" size="40" value="#{ClienteBean.cli.nome}"/>
<h:outputText value="Cpf"/>
<h:inputText id="txtCpf" size="40" value="#{ClienteBean.cli.nome}"/>
<h:outputText value="Rg"/>
<h:inputText id="txtRg" size="40" value="#{ClienteBean.cli.nome}"/>
<h:outputText value="DataNasc"/>
<h:inputText id="txtDataNasc" size="40" value="#{ClienteBean.cli.nome}"/>
<h:outputText value="Cidade"/>
<h:inputText id="txtCidade" size="40" value="#{ClienteBean.cli.nome}"/>
<h:outputText value="Bairro"/>
<h:inputText id="txtBairro" size="40" value="#{ClienteBean.cli.nome}"/>
<h:outputText value="Rua"/>
<h:inputText id="txtRua" size="40" value="#{ClienteBean.cli.nome}"/>
<h:outputText value="Num"/>
<h:inputText id="txtNum" size="40" value="#{ClienteBean.cli.nome}"/>
<h:outputText value="Estado"/>
<h:selectOneMenu id="slctEstado" value="">
<f:selectItem itemValue="1" itemLabel="AC"/>
<f:selectItem itemValue="2" itemLabel="AL"/>
<f:selectItem itemValue="3" itemLabel="AP"/>
<f:selectItem itemValue="4" itemLabel="AM"/>
<f:selectItem itemValue="5" itemLabel="BA"/>
<f:selectItem itemValue="6" itemLabel="CE"/>
<f:selectItem itemValue="7" itemLabel="DF"/>
<f:selectItem itemValue="8" itemLabel="ES"/>
<f:selectItem itemValue="8" itemLabel="GO"/>
<f:selectItem itemValue="9" itemLabel="MA"/>
<f:selectItem itemValue="10" itemLabel="MT"/>
<f:selectItem itemValue="11" itemLabel="MS"/>
<f:selectItem itemValue="12" itemLabel="MG"/>
<f:selectItem itemValue="13" itemLabel="PA"/>
<f:selectItem itemValue="14" itemLabel="PB"/>
<f:selectItem itemValue="15" itemLabel="PR"/>
<f:selectItem itemValue="16" itemLabel="PE"/>
<f:selectItem itemValue="17" itemLabel="PI"/>
<f:selectItem itemValue="18" itemLabel="RJ"/>
<f:selectItem itemValue="19" itemLabel="RN"/>
<f:selectItem itemValue="20" itemLabel="RS"/>
<f:selectItem itemValue="21" itemLabel="RO"/>
<f:selectItem itemValue="22" itemLabel="RR"/>
<f:selectItem itemValue="23" itemLabel="SC"/>
<f:selectItem itemValue="24" itemLabel="SP"/>
<f:selectItem itemValue="25" itemLabel="SE"/>
<f:selectItem itemValue="26" itemLabel="TO"/>
</h:selectOneMenu>
<h:outputText value="Pais"/>
<h:inputText id="txtPais" size="40" value="#{ClienteBean.cli.nome}"/>
<h:outputText value="Empresa"/>
<h:selectOneMenu id="cbbxEmpresa" rendered="true" value="#{clienteBean.objemp}">
<f:selectItems value="#{ClienteBean.recuperaTodasEmpresas}"/>
</h:selectOneMenu>
<h:commandButton value="Cadastrar"/>
</h:panelGrid>
</h:form>
</h:body>
</html>
ClienteBean.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.br.senasistemas.bean;
import com.br.senasistemas.modelo.Cliente;
import com.br.senasistemas.modelo.Empresa;
import java.util.ArrayList;
import java.util.Collection;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.model.SelectItem;
/**
*
* @author Sil@s
*/
@ManagedBean
@RequestScoped
public class ClienteBean {
/** Creates a new instance of ClienteBean */
private Cliente ObjCli = new Cliente();
private Empresa Objemp = new Empresa();
private String STR_TIPO_PESQUISA = "";
private String VALOR_PESQUISA = "";
public Cliente getObjCli() {
return ObjCli;
}
public void setObjCli(Cliente ObjCli) {
this.ObjCli = ObjCli;
}
public Empresa getObjemp() {
return Objemp;
}
public void setObjemp(Empresa Objemp) {
this.Objemp = Objemp;
}
public String getSTR_TIPO_PESQUISA() {
return STR_TIPO_PESQUISA;
}
public void setSTR_TIPO_PESQUISA(String STR_TIPO_PESQUISA) {
this.STR_TIPO_PESQUISA = STR_TIPO_PESQUISA;
}
public String getVALOR_PESQUISA() {
return VALOR_PESQUISA;
}
public void setVALOR_PESQUISA(String VALOR_PESQUISA) {
this.VALOR_PESQUISA = VALOR_PESQUISA;
}
public ClienteBean() {
}
public String salvar() {
String vSalvar = ObjCli.salvar();
if (vSalvar.equalsIgnoreCase("ok")) {
return "Salvo Com suscesso";
} else {
return "Ocorreu um erro: \n\n" + vSalvar;
}
}
public ArrayList<Cliente> recuperaClientes() {
if (STR_TIPO_PESQUISA.equalsIgnoreCase("nome")) {
return ObjCli.recuperaPorNome(VALOR_PESQUISA);
}
return null;
}
public Collection recuperaTodasEmpresas()
{
int size = Objemp.recuperaTodos().size();
Collection CltEmpresas = new ArrayList<Empresa>();
for (int i=0;i<size;i++)
{
CltEmpresas.add(new SelectItem(Objemp.recuperaTodos().get(i).getCodigo(), Objemp.recuperaTodos().get(i).getNome()));
}
return CltEmpresas;
}
}
nao sei o que estou fazendo errado mas eu quero q quando eu iniciar a pagina o combobox ja venha carregado, ja testei as rotinas no banco de dados que retornam as empresas e eleas estao funcionado.
fico no aguardo vlw.