Olá pessoal
Alguem tem algum exemplo de Combo box aninhado com banco de dados usando RichFaces ?
por favor posta ae!!
nao sei construir!!
vlw
abs
<h:selectOneMenu/> ou DropDown RichFaces Aninhados com BD
9 Respostas
Aqui tem um exemplo de como atualizar o conteúdo de uma tabela usando o a4j:support
http://docs.jboss.org/richfaces/3.3.2.GA/en/devguide/html/a4j_support.html
a idéia é a mesma, porém ao invés de atualizar uma tabela, você vai atualizar um outro combo a partir das informações adquiridas!
Já vi isso mais deu erro aki!!
Obrigado por responder!!
vlw
E qual foi o erro?! Qual é o código que você está tentando executar?!
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
<html>
<head>
<title></title>
</head>
<body>
<h:form id="planetsForm">
<h:outputLabel value="Select the planet:" for="planets" />
<h:selectOneMenu id="planets" value="#{planetsMoons.currentPlanet}" valueChangeListener="#{planetsMoons.planetChanged}">
<f:selectItems value="#{planetsMoons.planetsList}" />
<a4j:support event="onchange" reRender="moons" />
</h:selectOneMenu>
<h:dataTable id="moons" value="#{planetsMoons.moonsList}" var="item">
<h:column>
<h:outputText value="#{item}"/>
</h:column>
</h:dataTable>
</h:form>
<body/>
</html>
public class PlanetsMoons {
private String currentPlanet="";
public List<SelectItem> planetsList = new ArrayList<SelectItem>();
public List<String> moonsList = new ArrayList<String>();
private static final String [] EARTH = {"The Moon"};
private static final String [] MARS = {"Deimos", "Phobos"};
private static final String [] JUPITER = {"Europa", "Gamymede", "Callisto"};
public PlanetsMoons() {
SelectItem item = new SelectItem("earth", "Earth");
planetsList.add(item);
item = new SelectItem("mars", "Mars");
planetsList.add(item);
item = new SelectItem("jupiter", "Jupiter");
planetsList.add(item);
}
public void planetChanged(ValueChangeEvent event){
moonsList.clear();
String[] currentItems;
if (((String)event.getNewValue()).equals("earth")) {
currentItems = EARTH;
}else if(((String)event.getNewValue()).equals("mars")){
currentItems = MARS;
}else{
currentItems = JUPITER;
}
for (int i = 0; i < currentItems.length; i++) {
moonsList.add(currentItems[i]);
}
}
//Getters and Setters
}
<h:selectOneMenu id="planets" value="#{planetsMoons.currentPlanet}" valueChangeListener="#{planetsMoons.planetChanged}">
#{...}not allowed in a template text body.
Pelo visto o Facelets não aceita as ELs do JSF em seus templates, tenta fazer o mesmo teste mas usando uma página JSF simples!
sera q nao é problema de PACOTE ond a classe Planets… esta localizado???
pq quando eu retiro essa linha #{planetsMoons.currentPlanet} para construi-la na mao ele n tem sugestoes!!
PS. eu ja to usando uma pag JSP pura!!
vlw
Alguem mais!!
Hello UMC! Resolveu o problema? Não sei mais o que fazer. Agradeço qualquer ajuda.
Esse não, pois eu acabei usando JSF, usando um recurso do NetBeans que facilitou mas não é mais continuado só tem até a 6.5
vlw