JSF - h: selectOneListbox

A tag h: selectOneListbox renderiza um elemento de entrada HTML do tipo "select" com tamanho especificado.

Tag JSF

<h:selectOneListbox value = "#{userData.data}"> 
   <f:selectItem itemValue = "1" itemLabel = "Item 1" /> 
   <f:selectItem itemValue = "2" itemLabel = "Item 2" /> 
</h:selectOneListbox>

Saída renderizada

<select name = "j_idt6:j_idt8" size = "2">  
   <option value = "1">Item 1</option> 
   <option value = "2">Item 2</option> 
</select>

Atributos de tag

S.Não Atributo e descrição
1

id

Identificador para um componente

2

binding

Referência ao componente que pode ser usado em um backing bean

3

rendered

Um booleano; falso suprime a renderização

4

styleClass

Nome da classe da folha de estilo em cascata (CSS)

5

value

O valor de um componente, normalmente uma associação de valor

6

valueChangeListener

Uma ligação de método a um método que responde a alterações de valor

7

converter

Nome da classe do conversor

8

validator

Nome da classe de um validador que é criado e anexado a um componente

9

required

Um booleano; se verdadeiro, requer que um valor seja inserido no campo associado

10

accesskey

Uma chave, normalmente combinada com uma metachave definida pelo sistema, que dá foco a um elemento

11

accept

Lista separada por vírgulas de tipos de conteúdo para um formulário

12

accept-charset

Lista separada por vírgulas ou espaços de codificações de caracteres para um formulário. oaccept-charset atributo é especificado com o atributo JSF HTML chamado acceptcharset.

13

alt

Texto alternativo para elementos não textuais, como imagens ou miniaplicativos

14

charset

Codificação de caracteres para um recurso vinculado

15

coords

Coordenadas para um elemento cuja forma é um retângulo, círculo ou polígono

16

dir

Direção do texto. Os valores válidos sãoltr (da esquerda para a direita) e rtl (direita para esquerda)

17

disabled

Estado desativado de um elemento de entrada ou botão

18

hreflang

Idioma base de um recurso especificado com o href atributo; hreflang só pode ser usado com href.

19

lang

Idioma base dos atributos e texto de um elemento

20

maxlength

Número máximo de caracteres para campos de texto

21

readonly

Estado somente leitura de um campo de entrada; o texto pode ser selecionado em um campo somente leitura, mas não editado

22

rel

Relação entre o documento atual e um link especificado com o href atributo

23

rev

Link reverso da âncora especificada com hrefao documento atual. O valor do atributo é uma lista separada por espaço de tipos de link

24

rows

Número de linhas visíveis em uma área de texto. h:dataTable tem um rows atributo, mas não é um atributo de passagem HTML.

25

shape

Forma de uma região. Valores válidos:default, rect, circle, poly. (o padrão significa toda a região)

26

style

Informação de estilo inline

27

tabindex

Valor numérico que especifica um índice de tabulação

28

target

O nome de uma moldura na qual um documento é aberto

29

title

Um título, usado para acessibilidade, que descreve um elemento. Os navegadores visuais normalmente criam dicas de ferramentas para o valor do título

30

type

Tipo de link; por exemplo,stylesheet

31

width

Largura de um elemento

32

onblur

Elemento perde o foco

33

onchange

O valor do elemento muda

34

onclick

O botão do mouse é clicado sobre o elemento

35

ondblclick

O botão do mouse é clicado duas vezes sobre o elemento

36

onfocus

Elemento recebe foco

37

onkeydown

A tecla está pressionada

38

onkeypress

A tecla é pressionada e posteriormente liberada

39

onkeyup

Chave liberada

40

onmousedown

O botão do mouse é pressionado sobre o elemento

41

onmousemove

O mouse se move sobre o elemento

42

onmouseout

O mouse sai da área do elemento

43

onmouseover

O mouse se move para um elemento

44

onmouseup

Botão do mouse liberado

45

onreset

O formulário foi reiniciado

46

onselect

O texto é selecionado em um campo de entrada

47

size

Tamanho do campo de entrada

Aplicação de exemplo

Vamos criar um aplicativo JSF de teste para testar a tag acima.

Degrau Descrição
1 Crie um projeto com o nome helloworld sob um pacote com.tutorialspoint.test conforme explicado no capítulo JSF - Primeira Aplicação .
2 Modifique home.xhtml conforme explicado abaixo. Mantenha o resto dos arquivos inalterados.
3 Crie result.xhtml no diretório webapps conforme explicado abaixo.
4 Crie UserData.java como um bean gerenciado no pacote com.tutorialspoint.test conforme explicado abaixo.
5 Compile e execute o aplicativo para ter certeza de que a lógica de negócios está funcionando de acordo com os requisitos.
6 Por fim, construa o aplicativo na forma de um arquivo war e implante-o no Apache Tomcat Webserver.
7 Inicie seu aplicativo da web usando o URL apropriado, conforme explicado a seguir na última etapa.

UserData.java

package com.tutorialspoint.test;

import java.io.Serializable;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean(name = "userData", eager = true)
@SessionScoped
public class UserData implements Serializable {
   private static final long serialVersionUID = 1L;
   public String data = "1";

   public String getData() {
      return data;
   }

   public void setData(String data) {
      this.data = data;
   }
}

home.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:f = "http://java.sun.com/jsf/core"     
   xmlns:h = "http://java.sun.com/jsf/html"> 
   
   <head> 
      <title>JSF Tutorial!</title> 
   </head> 
   
   <h:body> 
      <h2>h::selectOneListbox example</h2> 
      <hr /> 
      
      <h:form> 
         <h3>List Box</h3>  
         <h:selectOneListbox value = "#{userData.data}"> 
            <f:selectItem itemValue = "1" itemLabel = "Item 1" /> 
            <f:selectItem itemValue = "2" itemLabel = "Item 2" /> 
            <f:selectItem itemValue = "3" itemLabel = "Item 3" /> 
            <f:selectItem itemValue = "4" itemLabel = "Item 4" /> 
            <f:selectItem itemValue = "5" itemLabel = "Item 5" />     
         </h:selectOneListbox>  
         <h:commandButton value = "Submit" action = "result" /> 
      </h:form>    
   
   </h:body>
</html>

result.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:f = "http://java.sun.com/jsf/core"    
   xmlns:h = "http://java.sun.com/jsf/html"
   xmlns:ui = "http://java.sun.com/jsf/facelets">
   
   <head>
      <title>JSF Tutorial!</title>
   </head>
   
   <h:body>
      <h2>Result</h2>
      <hr />
      #{userData.data}
   </h:body>
</html>

Assim que você estiver pronto com todas as mudanças feitas, vamos compilar e rodar a aplicação como fizemos no capítulo JSF - Primeira Aplicação. Se tudo estiver bem com sua aplicação, isso produzirá o seguinte resultado.

Selecione qualquer opção e pressione Submitbotão. Selecionamos o item 3. Você verá os resultados selecionados.