Pretty Code Blog

Just another weblog about development

Carregar selectOneMenu ao escolher um outro selectOneMenu?

Em JSF, como carregar um combo de cidades ao escolher um estado em um combo?
A solução que mais gosto é o ValueChangeListener. O ValueChangeListener faz uma requisição a um bean no momento que um determinado valor for alterado, no caso o estado.

Um exemplo:
Combo de estado:
<h:selectOneMenu id="tipo" value="#{meuController.endereco.estado}" valueChangeListener="#{meuController.trocaCidadesEstado}" >
<f:selectItems value="#{meuController.listaEstados}" />
</h:selectOneMenu>
Combo de cidades:
<h:selectOneMenu [...]

Adicionando ICEFaces a um projeto pelo Maven

Utilizar bibliotecas integradas pelo Maven pode ser bem complicado se você não conhecer os repositórios.
Hoje penei um pouquinho para encontrar a definição correta para colocar icefaces no pom.xml:
<dependency>
<groupId>org.icefaces</groupId>
<artifactId>icefaces</artifactId>
<version>1.7.0</version>
<exclusions>
<exclusion>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.icefaces</groupId>
<artifactId>icefaces-comps</artifactId>
<version>1.7.0</version>
<exclusions>
<exclusion>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<repository>
<id>jboss</id>
<url>http://repository.jboss.com/maven2</url>
</repository>

m2eclipse: plugin do maven para Eclipse

As tarefas de criar projetos Maven, editar POMs e atualizar ambientes podem ficar mais fáceis utilizando o plugin do Maven para Eclipse.
Para instalá-lo pelo Eclipse, no menu vá em Help -> Install New Software

Clique em Add para adicionar um novo repositório e então insira:

Name: m2eclipse
Location: http://m2eclipse.sonatype.org/update

Volte ao campo “Work with” adicione o m2eclipse. Selecione a [...]