Boa tarde a todos! Estou com a seguinte situação: Tenho um 1 selectoneMenu onde o qual escolher ele ira fazer uma seleção diferente para o 2 selectOneMenu utilizando AJAX
Desde de já agradeço quem poder ajudar.
Minha view
<h:form prependId="false" id="formLaboratorio">
<h:outputLabel value="Nome:" />
<h:inputText autocomplete="off" maxlength="50" size="60" value="#{laboratorioController.laboratorio.nomeLaboratorio}" />
<br />
<h:outputLabel value="Campus:" />
<p:selectOneMenu value="#{laboratorioController.campus}" style="width:350px;" >
<f:selectItem itemLabel=" - SELECIONE UM CAMPUS - " itemValue=""/>
<f:selectItems value="#{campusController.listaCampus}" var="obj" itemLabel="#{obj.nomeCampus}" itemValue="#{obj.idCampus}" />
<p:ajax event="change" listener="#{dependenciaController.listaCampusDependencia}" update=":formLaboratorio:dependencia" />
</p:selectOneMenu>
<br />
<h:outputLabel value="Dependência:" />
<h:selectOneMenu id="dependencia" value="#{laboratorioController.laboratorio.dependencia.idDependencia}" style="width:350px;" >
<f:selectItem itemLabel=" - SELECIONE UMA DEPENDÊMCIA - " itemValue=""/>
<f:selectItems value="#{dependenciaController.listaCampusDependencia}" var="obj" itemLabel="#{obj.nomeDependencia}" itemValue="#{obj.idDependencia}" />
</h:selectOneMenu>
<h:panelGrid columns="3" style="float: right" >
<p:commandButton ajax="false" value="Inserir" action="#{laboratorioController.insert}" disabled="#{laboratorioController.laboratorio.idLaboratorio != -1}" />
<p:commandButton ajax="false" value="Salvar" action="#{laboratorioController.update}" disabled="#{laboratorioController.laboratorio.idLaboratorio == -1}" />
<p:commandButton ajax="false" value="Limpar" actionListener="#{laboratorioController.clear}" />
</h:panelGrid>
</h:form>
Controller
[code]/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package lab.br.com.controller;
import java.io.Serializable;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.faces.validator.ValidatorException;
import lab.br.com.dao.LaboratorioDAO;
import lab.br.com.model.Campus;
import lab.br.com.model.Laboratorio;
import lab.br.com.util.ExceptionDatabase;
import lab.br.com.validator.LaboratorioValidator;
/**
*
-
@author lcs
*/
@ManagedBean
@SessionScoped
public class LaboratorioController implements Serializable{
private Laboratorio laboratorio;
private List listaLaboratorio;
private Integer botao;
private Campus campus;public Campus getCampus() {
if(campus == null){
campus = new Campus();
}
return campus;
}public void setCampus(Campus campus) {
this.campus = campus;
}public void modEdicao(){
setBotao(1);
}
public Integer getBotao() {
if(botao == null){
botao = new Integer(0);
}
return botao;
}public void setBotao(Integer botao) {
this.botao = botao;
}public Laboratorio getLaboratorio() {
if(laboratorio == null){
laboratorio = new Laboratorio();
}
return laboratorio;
}public void setLaboratorio(Laboratorio laboratorio) {
this.laboratorio = laboratorio;
}public List getListaLaboratorio() {
if(listaLaboratorio == null){
FacesContext mensagem = FacesContext.getCurrentInstance();
try
{
LaboratorioDAO labDAO = new LaboratorioDAO();
listaLaboratorio = labDAO.listaLaboratorio();
}
catch (ExceptionDatabase e) {
mensagem.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,e.getMessage(), null));
}
}
return listaLaboratorio;
}public void setListaLaboratorio(List listaLaboratorio) {
this.listaLaboratorio = listaLaboratorio;
}public void clear() {
setLaboratorio(null);
setListaLaboratorio(null);
}public String formLaboratorioEditar(){
return “actFormLaboratorio”;
}public String formLaboratorio(){
clear();
return “actFormLaboratorio”;
}public String insert(){
FacesContext mensagem = FacesContext.getCurrentInstance();
try
{
LaboratorioValidator disVal = new LaboratorioValidator();
disVal.validate(null, null, getLaboratorio());LaboratorioDAO labDAO = new LaboratorioDAO(); labDAO.insert(getLaboratorio()); mensagem.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,"Laboratório: "+getLaboratorio().getNomeLaboratorio()+", foi inserido com sucesso!", null)); setLaboratorio(null); setListaLaboratorio(null); return "actListaLaboratorio"; } catch (ExceptionDatabase e) { getLaboratorio().setIdLaboratorio(null); mensagem.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,e.getMessage(), null)); return null; } catch (ValidatorException e) { mensagem.getMessageList().iterator(); return null; }
}
public String update(){
FacesContext mensagem = FacesContext.getCurrentInstance();
try
{
LaboratorioValidator disVal = new LaboratorioValidator();
disVal.validate(null, null, getLaboratorio());LaboratorioDAO labDAO = new LaboratorioDAO(); labDAO.update(getLaboratorio()); mensagem.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,"Laboratório: "+getLaboratorio().getNomeLaboratorio()+", foi atualizado com sucesso!", null)); setLaboratorio(null); setListaLaboratorio(null); setBotao(0); return "actListaLaboratorio"; } catch (ExceptionDatabase e) { getLaboratorio().setIdLaboratorio(null); mensagem.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,e.getMessage(), null)); return null; } catch (ValidatorException e) { mensagem.getMessageList().iterator(); return null; }
}
public void delete(){
FacesContext mensagem = FacesContext.getCurrentInstance();
try
{
LaboratorioDAO labDAO = new LaboratorioDAO();
labDAO.delete(getLaboratorio());
mensagem.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,“Laboratório: “+getLaboratorio().getNomeLaboratorio()+”, foi excluído com sucesso!”, null));
setLaboratorio(null);
setListaLaboratorio(null);
}
catch (ExceptionDatabase e) {
getLaboratorio().setIdLaboratorio(null);
mensagem.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,e.getMessage(), null));
}
}
}
[/code]