Boa noite, estou com um problema com o JSF + selectOneRadio… Quando carrego a página, ele vem sem nenhuma opção selecionada, quando seleciono a primeira opção ele passa o valor para o bean como null e depois fica alternando entre as opções, sempre passando a anterior a que é selecionada…
<h:form>
<p:outputLabel value="Tipo Telefone:" class="outputOverlay"
for="tipoTelefone" />
<p:selectOneRadio
value="#{cadastroVisitantesBEAN.cadastroVisitantes.tipoTelefone}"
class="radioOverlay" id="tipoTelefone" required="true"
requiredMessage="O campo 'Tipo Telefone' é obrigatório"
unselectable="true">
<f:selectItem itemLabel="Fixo" itemValue="Fixo" />
<f:selectItem itemLabel="Celular" itemValue="Celular" />
<f:ajax listener="#{cadastroVisitantesBEAN.validaTipoTelefone}"
immediate="true" />
</p:selectOneRadio>
</h:form>
@Named
@ViewScoped
public class CadastroVisitantesBEAN implements Serializable {
@Inject
private CadastroVisitantes cadastroVisitantes;
private String mascara;
private List<CadastroVisitantes> cadastroVisitantesList;
public List<CadastroVisitantes> getCadastroVisitantesList() {
return cadastroVisitantesList;
}
public void setCadastroVisitantesList(List<CadastroVisitantes> cadastroVisitantesList) {
this.cadastroVisitantesList = cadastroVisitantesList;
}
public String getMascara() {
return mascara;
}
public void setMascara(String mascara) {
this.mascara = mascara;
}
public CadastroVisitantes getCadastroVisitantes() {
return cadastroVisitantes;
}
public void setCadastroVisitantes(CadastroVisitantes cadastroVisitantes) {
this.cadastroVisitantes = cadastroVisitantes;
}
public void validaTipoTelefone() {
System.out.println(cadastroVisitantes.getTipoTelefone());
// if (cadastroVisitantes.getTipoTelefone().equals("Fixo")) {
// setMascara("(99) 9999-9999");
// } else {
// setMascara("(99) 9 9999-9999");
// }
}
O método está sendo chamado corretamente, porém o problema é o valor que está indo incorreto… O método irá passar uma máscara para um inputMask, porém preciso que o valor seja correto