selectOneMenu JSF com BD

olá Pessoal,

Hoje vou mostrar como criar preencher um selectOneMenu com dados vindo do Banco de Dados. Há várias formas de fazer isso, no blog o rponte você vai ver alguns posts bem interessante sobre o assunto. Vou mostrar abaixo como deixar seu selectOneMenu dinâmico pegando os dados do BD.

Tive como referência o livro do autor Edson Gonçalves em seu livro Dominando JSF.

lets go…

Posts Recomendados

Note: Para o exemplo a seguir usei o Hibernate puro para persistência e o TomCat 6 como servidor.

Preparando o ambiente:

  1. crie seu projeto JSF e sua página jsp ou xhtml

Aqui vamos usar xhtml, mas nada impede de usar .jsp o código JSF não vai mudar se vc criou um dos dois arquivos acima.

  1. Não esqueça de criar uma tabela no seu banco de dados. Aqui chamamos ela de cargo

Desenvolvendo

  1. Na sua classe DAO, crie um método que vai retornar todos cargos cadastrados:

    //retorna todos os cargos cadastrados
    	public List listaCargo(){
    		Query query = getSession().createQuery("from Cargo");
    		Listlista = query.list(); 
    
    		return lista;
    	}
  2. Na ControllerCargo você deve ter o método e a variável abaixo.

    public class ControllerCargo {
    	private Cargo cargo;
    	private Map cargoitem=null;
    	private ListDataModel model; 
    
    	public ControllerCargo() {
    		cargo = new Cargo();
    	}
    //outros codes foram omitidos, pois não tem importância para o objetivo do post
    
    //será armazenado no selectOneMenu
    	public Map getCargos(){
    	CargoDAO cargodao = new CargoDAO();
    	cargoitem = new LinkedHashMap();
    	for(Iterator iter =cargodao.listaCargo().iterator();iter.hasNext();){
    	Cargo c = (Cargo) iter.next();
    	 //armazenando os cargos encontrados no bd em um map
    		cargoitem.put(c.getFuncao(), c.getFuncao());
    	}
    	return cargoitem;}
  3. Essa aqui é nossa classe cargo:

    public class Cargo {
    	private int id;
    	private String funcao;
    	private String area;
    //gets/sets omitidos
  4. criamos uma página em xhtml (poderia ser em JSP) que tem o selectOneMenu carregado com os cargos que estao na tabela no BD, veja como ficou o code:
<input jsfc=”h:selectOneMenu” value=”#{controllerUser.usuario.funcao}” >
<f:selectItems value=”#{controllerCargo.cargos}” />
</input>

<input jsfc=”h:selectOneMenu” value=”#{controllerUser.usuario.funcao}” >

<f:selectItems value=”#{controllerCargo.cargos}” />

</input>


    Erro comum

    1. um erro comum é não prestar atencao no S que temos entre selectItems e seletecItem, se vc deixar no singular, terá problemas ao executar a página. Afinal de contas você informou que vai receber uma coleção de dados.

    Teste

    Veja abaixo o exemplo do selectOneMenu pegando informações que vem do BD. temos um formulário e logo a seguir um select do banco de dados.

    selectonebdjsf

    Vou ficando por aqui pessoal e até a proxima, espero que tenham gostado, o objetivo aqui foi apresentar um ponto bem especifico, por isso não coloquei todo o código para não perder o foco. Até porque nada mudou nas outras classes.

    Abracos, see you next post.

    Instalando Tomcat Ubuntu 8.04

    teaching

    Ae pessoal, mesmo no ritmo junino  não posso deixar de postar. A imagem acima é uma homenagem a essa festa maravilhosa.

    Mais um post sobre a série “Desenvolvimento Java em Linux” . Bem, quem acha instalar + configurar no Windows é simples, verá que no Ubuntu é tão simples quanto no O.S do tio Bill. No final deste post, teremos o TOMCAT instalado e configurado para executar páginas servlet & jsp além de configurar o Tomcat Manager para stop e start as aplicacoes sem precisar reiniciar o tomcat.

    Lets go…

    Post  Relacionado:

    Instalando NB 6 em Linux

    Instalando Eclipse em Linux – 5min

    Instalando Java Ubuntu

    Servlet & JSP

    O que é bom, para quem? (muito bom esse post sobre linux x windows, leitura recomendada)

    Posts mais acessados (confira os posts, mais visualizados no blog)

    Instalando TomCat

    1. abra o terminal e faca o login como root (su e depois a senha)

    2. Se você ainda não tem o tomcat para linux faca o download no link a seguir. O arquivo que precisamos está no formato tar.gz

    3. http://tomcat.apache.org/download-55.cgi

    4. coloque o arquivo tomcat que foi feito o download na pasta /opt (poderia usar outra como /usr/local) fica a sua escolha. Para esse post usarei /opt

    5. Agora vamos descompactar para isso digite o comando seguinte:

    6. sudo tar -zxvf apache-tomcat-5.5.27.tar.gz

    7. entre no direto /opt e digite:

      mv apache-tomcat-5.5.26.tar.gz tomcat

    8. Acesse o diretorio bin e vamos dar permissão aos arquivos .sh, digite:

      chmod a+x /opt/tomcat/bin/*.sh

    9. Agora vamos configurar as variáveis de ambiente, portanto digite os seguintes comandos:

      export JAVA_HOME=/usr/lib/jvm/java-6-sun

      export CLASSPATH=/opt/tomcat/common/lib/jsp-api.jar:/opt/tomcat/common/lib/servlet-api.jar

      export CATALINA_HOME=/opt/tomcat

      export JRE_HOME=/usr/lib/jvm/java-6-sun/jre

    10. Outro modo de configurar a variavel de ambiente para seu usuario é assim:

      su seu_usuario ex.: su camilo

      gedit ~/.bashrc

      adicionar no final do arquivo os comandos acima.

      Salvar e fechar

    11. vá no diretorio bin (cd /opt/tomcat/bin ) e vamos dar um start no tomcat.

      ./startup.sh

    12. Abra o browser e digite Http://locahost:8080 sua tela deve semelhante a imagem abaixo

      tomcat

    Instalando o TomCat Manager

    Aqui vamos instalar o TomCat Manager para gerenciar as aplicacões. Vejam como é simples.

    1. digite: sudo gedit /opt/tomcat/conf/tomcat-users.xml

    2. Adicione as linhas abaixo ao arquivo:

      <role rolename=”manager”/>

      <role rolename=”admin”/>

      <user username=”admin” password=”admin” roles=”manager,admin”/>

    3. salve e pare o tomcat (ir na pasta bin e digitar ./shutdown.sh )

    4. Agora inicie o tomcat ./startup.sh

    5. Acesse o tomcat e clique em TomCat Manager e você terá a resposta com a seguir:

      tomcat2

    Pronto! Tomcat preparado para trabalhar, então agora é mãos a obra. Espero que tenham gostado e que o post venha ajudar aqueles que estao migrando de windows para linux como eu. A partir de agora você ja pode compilar e executar suas páginas Servlet & JSP / ambiente Ubuntu Linux.

    Abraco e até o próximo post, onde veremos como configurar um BD.

    junina

    Instalando NB 6 Ubuntu Linux

    Instalando TomCat 15min

    Salve! Salve! Pessoal,

    “Hoje resolvi mudar…” hehe Nesse post vou mostrar como é fácil e rápido instalar um ambiente web(Servlet & JSP) sem precisar ficar com dor de cabeça. Em 15 minutos você tem o ambiente todo configurado e funcionando como manda o “figurino”.

    Primeiramente quero informá-los! que a partir de hoje estou participando da coluna de Java lá no Imasters. E ja tem um artigo publicado,(em 2 dias mais de 550 acessos) como recebi aprovação do Imasters na segunda-feira ainda nao tive tempo de me organizar para os assuntos que vou tratar lá onde serão diferentes do Blog! Já que o meu intuito é que a galera que acessa o blog visitem também minha coluna no imasters e que a galera do imasters acessem o blog e que se possivel comentem e dai quem sabe criar uma rede de profissionais e trocar experiencias, compartilhar conhecimentos etc, esse foi um dos meus objetivos com o blog e que graças a vocês, estou aqui marcando presença com mais um post viável para uns e inviável para outros.

    Bom vamos largar de papo e mãos à obra!!

    Pré-Requisito

    JDK 1.5 ou superior e configurado corretamente

    http://tomcat.apache.org/

    Arquivo para Teste

    Estou disponibilizando o arquivo desenvolvido para teste.Após à instalação para verificar se realmente seu ambiente está em pleno funcionamento.

    estudojee.zip

    Hierarquia TomCat

    Agradecimentos

    Para que esse tutorial fosse criado, a Verônica (Desenvolvedora da IBM e participante ativa Veronicaaa – guj.com.br) colaborou diretamente, na verdade ela que me indicou todos os caminhos para instalar, eu apenas peguei o coloquei em forma de tutorial. Já que tivemos sucesso na instalação no menor tempo possível. Então venho agradecê-la por ter disponibilizado o seu dia para chegarmos a uma resolução da instalação/configuração apesar de que os testes que fizemos foi na versão .exe. (isso foi em 2007)

    Depois testei os mesmo procedimentos na versão .zip e funcionou tranqüilo.

    Forma automática – arquivo .exe

    Instalar e configurar o TomCat de forma automática, para aqueles tem o arquivo de instalação .exe. Em apenas 15 minutos sua maquina já está apta a rodar Servlets e JSP.

    Sigao modo padrão de instalação sem mudar nenhum caminho sugerido pelo TomCat exceto os de configuração da JVM que veremos ao final desse tutorial.

    Passo 1:

    – clicar para executar o arquivo de instalação

    – escolha a opção Full na segunda tela após clicar no primeiro next.

    – Observe que o tomcat tem um caminho de instalação deixe o que ele sugere mais grave esse caminho mentalmente.

    No meu caso o caminho foi:

    C:\Arquivos de programas\Apache Software Foundation\Tomcat 5.5

    – em seguida vem o pedido para configurar a porta deixe a 8080 e pede também a configuração de login e senha para a parte administrativa deixe como estar Login sendo: admin Senha: Vazio

    – Muita atenção nessa tela, ela está apontando para um JRE, porém é o que está na pasta principal Java. Configure o JRE que está dentro do JDK. Se está seguindo a instalação padrão o caminho deve ser o abaixo:

    C:\Arquivos de programas\Java\jdk1.5.0\jre

    – clique em install.

    Passo 2

    – Agora teste para ver se o tomcat está instalado. HTTP://localhost:8080

    – Clique em manager e coloque o login: admin e a senha deixem em branco

    – Veja as aplicações disponíveis. Na tabela Applications clique em servlets-examples e escolha uma das aplicações se executarem normalmente é porque está tudo ok. Faça o mesmo com os exemplos JSP.

    – volte para a pagina principal clicando /

    – Se você clicar em Administration você vera que ele vai pedi para você baixar o pacote de admin.

    – procure no site do apache o seguinte arquivo para download: apache-tomcat-5.5.25-admin.zip

    agora o descompacte e dentro dele temos duas pastas conf e serv, copie elas.

    – e agora cole dentro desse diretório C:\Arquivos de programas\Apache Software Foundation\Tomcat 5.5 substituindo as do tomcat.

    – agora clique em administration e use o mesmo login sendo assim você está na parte de administração do tomcat. A partir da versão 5.0 quando você coloca sua aplicação dentro de webapps ele automaticamente já cria o context.

    A vantagem de ter um admin é que você pode parar uma aplicação sem precisar dar um restart no tomcat parando assim todas as aplicações.

    Passo 3

    – Agora criei uma variável chamada CLASSPATH

    Valor da Variável: C:\Arquivos de programas\Apache Software Foundation\Tomcat 5.5\common\lib\servlet-api.jar;.

    *O ponto-e-vírgula e o ponto no final é para que você possa compila seus arquivos normais que não sejam um servlet e qualquer diretório Java.

    -Clica em OK

    Passo 4

    – para parar a execução observe perto do relógio do Windows que tem estlá o tomcat rodando. Clique com o botão direito e escolha o que fazer

    – para o tomcat não inicializar de forma automática vá então para Painel de controle à Ferramenta administrativaà Serviçosà e procure por apache tomcat e mude o tipo para manual.

    Flw! Pessoal! Espero que tenha gostado do post!!! E agora é so mandar ver nos estudos/trabalhos!!

    E até Sexta!!