Olá pessoal…tudo bom?
O negócio é o seguinte: na interface do meu sistema tem um selectOneRadio com duas opçoes (SIM e NÃO). Quero que criar uma rotina no meu bean para quando
o usuário clicar na opção SIM, um outro campo chamado Area Combatida tem que ficar escondido, ou seja, rendered=“false”. Mas se o usuario clicar na opção NÃO, o campo Area Combatida não pode ficar escondido, ou seja rendered=“true”. certo?
Tentei usar a opção a4j:actionparam/ mas não esta dando certo.
Abaixo tem o código:
Pagina (JSF)
<h:outputText id="otReservaAceiro" value="#{msgf.reserva}: "/>
<h:selectOneRadio id="combReservaAceiro" value="#{forCombateBean.combate.reserva}">
<f:selectItem itemLabel="Sim" itemValue="Sim">
<a4j:actionparam name="valor" value="sim" />
</f:selectItem>
<f:selectItem itemLabel="Não" itemValue="Nao">
<a4j:actionparam name="valor" value="nao" />
</f:selectItem>
<a4j:support reRender="otAreaCombate, combAreaCombate, rendmsg" ajaxSingle="true" event="onchange" action="#{forCombateBean.supportNao}" ></a4j:support>
</h:selectOneRadio>
<rich:message ajaxRendered="true" for="combReservaAceiro"
showDetail="false" showSummary="true" styleClass="Erro">
<f:facet name="errorMarker">
<h:graphicImage value="/imagens/error.gif" />
</f:facet>
</rich:message>
Meu bean
public void supportNao(){
String valor = (FacesContext.getCurrentInstance()
.getExternalContext().getRequestParameterMap().get("valor"));
if (valor.equals("sim")){
exibirArea = true;
}else{
exibirArea = false;
}
}
alguém tem uma idéia do que eu devo fazer?
valeuuu!!