Galera, simplifiquei o código mas a essência é a mesma, não consigo renderizar um campo via ajax jsf2… estou fazendo algo errado??? Segue abaixo o código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html 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">
<h:form id="comprasForm" prependId="false">
<h:selectOneRadio value="#{compraBean.codigo}">
<f:selectItem itemValue="1" itemLabel="Sim"/>
<f:selectItem itemValue="2" itemLabel="Nao"/>
<f:ajax event="change" execute="@this" render="desconto" />
</h:selectOneRadio> Compra com desconto
<h:panelGroup id="desconto">
<h:panelGroup rendered="#{compraBean.codigo == 1}">
10% desconto
</h:panelGroup>
</h:panelGroup>
</h:form>
</html>
@RequestScoped
@Named
public class CompraBean {
private Integer codigo;
public Integer getCodigo() {
return codigo;
}
public void setCodigo(Integer codigo) {
this.codigo = codigo;
}
}