Você está aqui:
JSF - Java Server Faces :::
JSF HTML Tags ::: |
Aprenda a usar o controle <h:selectOneMenu> em suas aplicações JSFQuantidade de visualizações: 13166 vezes |
O controle <h:selectOneMenu>, um objeto da classe HtmlSelectOneMenu, é usado quando queremos gerar um elemento HTML select de seleção única em nossas páginas JavaServer Faces. Veja a posição da classe HtmlSelectOneMenu na hierarquia de classes Java:java.lang.Object javax.faces.component.UIComponent javax.faces.component.UIComponentBase javax.faces.component.UIOutput javax.faces.component.UIInput javax.faces.component.UISelectOne javax.faces.component.html.HtmlSelectOneMenu Esta classe também implementa as interfaces java.util.EventListener, ClientBehaviorHolder, EditableValueHolder, PartialStateHolder, StateHolder, TransientStateHolder, ValueHolder, ComponentSystemEventListener, FacesListener e SystemEventListenerHolder. Um controle <h:selectOneMenu> pode ser criado da seguinte forma: Cidade:<br /> <h:selectOneMenu id="cidade" value="#{contato.cidade}"> <!-- itens do menu vão aqui //--> </h:selectOneMenu> Aqui temos um controle <h:selectOneMenu> vazio, ou seja, não contém nenhum item para seleção. Note ainda que ligamos o controle à propriedade cidade de um bean Contato atribuindo o valor "#{contato.cidade}" à sua propriedade value. No bean de exemplo eu declarei a propriedade cidade como String. Podemos adicionar itens a um <h:selectOneMenu> usando controles <f:selectItem>, que são objetos da classe UISelectItem ou <f:selectItems>, que são objetos da classe UISelectItems. Ambas as classes UISelectItem e UISelectItems pertencem ao pacote javax.faces.component. Veja um exemplo de uma página JSP ou Facelets contendo um <h:selectOneMenu> e três itens de menu. Quando o usuário fizer sua escolha nós a mostraremos em um controle <h:outputText>: Código para index.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>Estudos JSF</title> </h:head> <h:body> <h4>Cadastro de Contatos</h4> <h:form> Cidade:<br /> <h:selectOneMenu id="cidade" value="#{contato.cidade}"> <f:selectItem itemValue="Goiânia" itemLabel="Goiânia" /> <f:selectItem itemValue="Cuiabá" itemLabel="Cuiabá" /> <f:selectItem itemValue="São Paulo" itemLabel="São Paulo" /> </h:selectOneMenu> <h:commandButton id="submit" value="Gravar Dados" action="#{contato.gravar}" /> <h:outputText value="#{contato.msg}" /> </h:form> </h:body> </html> Para facilitar a simulação deste exemplo, veja o código do bean usado: Código para Contato.java: package entidades; import java.io.Serializable; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; @ManagedBean @SessionScoped public class Contato implements Serializable { private String cidade; private String msg = "Escolha uma opção"; public String gravar() { // vamos atualizar a variável msg this.msg = "Você selecionou a cidade: " + this.cidade; // vamos voltar para a página inicial return "index"; } public String getCidade() { return cidade; } public void setCidade(String cidade) { this.cidade = cidade; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } } Veja que no método gravar() do bean nós apenas obtemos o valor da cidade selecionada, o atribuímos à variável msg e direcionamos o usuário para a página index.xhtml novamente. |
![]() |
Veja mais Dicas e truques de JSF - Java Server Faces |
Dicas e truques de outras linguagens |
MySQL - Como adicionar horas ao valor de um campo DATETIME ou TIME usando a função ADDTIME() do MySQL Delphi - Como usar o controle TStringGrid em suas aplicações Delphi - O componente TStringGrid do Delphi |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |