Boa tarde…
Estou tentando fazer com que quando um item do primeiro combo for selecionado ele atualize os itens do segundo combo, porém não atualiza e não gera excessão.
página jsp:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<!-- RichFaces tag library declaration -->
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
<html>
<head>
<title>RichFaces Greeter</title>
</head>
<body>
<f:view>
<h:form>
<rich:comboBox value="#{beanItens.opcPais}">
<f:selectItems value="#{beanItens.itensPaises}"/>
</rich:comboBox>
<a4j:support event="onchange" action="#{beanItens.atualizaComboCidade}" reRender="comboCidade"/>
<rich:comboBox value="#{beanItens.opcCidade}" id="comboCidade">
<f:selectItems value="#{beanItens.itensCidades}"/>
</rich:comboBox>
</h:form>
</f:view>
</body>
</html>
Bean
package br.com;
import java.util.ArrayList;
import javax.faces.model.SelectItem;
import org.richfaces.component.html.HtmlComboBox;
public class ValoresItens {
public ArrayList<SelectItem> itensPaises;
public ArrayList<SelectItem> itensCidades;
public String opcPais;
public String opcCidade;
public ValoresItens(){
itensCidades = new ArrayList<SelectItem>();
itensPaises = new ArrayList<SelectItem>();
opcCidade = "";
opcPais = "";
}
public void atualizaComboCidade(){
if(opcPais.equalsIgnoreCase("bra")){
itensCidades.add(new SelectItem("bnu"));
}else{
itensCidades.add(new SelectItem("boston"));
}
}
public ArrayList<SelectItem> getItensCidades() {
return itensCidades;
}
public void setItensCidades(ArrayList<SelectItem> itensCidades) {
this.itensCidades = itensCidades;
}
public String getOpcCidade() {
return opcCidade;
}
public void setOpcCidade(String opcCidade) {
this.opcCidade = opcCidade;
}
public ArrayList<SelectItem> getItensPaises() {
itensPaises.add(new SelectItem("bra"));
itensPaises.add(new SelectItem("eua"));
return itensPaises;
}
public void setItensPaises(ArrayList<SelectItem> itensPaises) {
this.itensPaises = itensPaises;
}
public String getOpcPais() {
return opcPais;
}
public void setOpcPais(String opcPais) {
this.opcPais = opcPais;
}
}
Desde já agradeço