Tenho um selectOneMenu com três selectItem, não gostaria que nenhum desses itens viesse marcados como default, ou seja, não queria nenhum com selected ativado, mas inexplicavelmente, o item que tem como value false está sempre vindo como default (está sempre vindo marcado). Como resolver isso?
Código:
<p:selectOneMenu id="ativo" value="#{setorController.setor.ativo}" required="true" requiredMessage="Por favor, informe se o setor está ativo.">
<f:selectItem itemValue="" itemLabel="Selecione..."/>
<f:selectItem itemValue="true" itemLabel="Sim"/>
<f:selectItem itemValue="false" itemLabel="Não"/>
</p:selectOneMenu>
Como dá para ver no HTML a opção de Não (false) está como selected, sendo que eu não coloquei isso e não quero isso. Como faço para essa opção não vir marcda ou como faço para que outra opção seja a default?
Colocar o selected=true dentro da tag f:selectItem não funciona, já tinha tentado isso.
-No meu bean não tenho nada que inicie o atributo como false, assim como no BD, que também não tem valor padrão, já tinha visto isso. Segue o código do meu BEAN;
@Entity
@Table(name = "setor", catalog = "estoque")
public class Setor implements Serializable {
...
@Column(name = "ativo")
private boolean ativo;
...
public boolean getAtivo() {
return ativo;
}
public void setAtivo(boolean ativo) {
this.ativo = ativo;
}
Obrigado pela sugestão, vou ver se mudo para p:selectBooleanCheckbox, tinha esquecido disso.
Já posto o retorno.
Desde já agradeço.
Só mais uma dúvida: caso eu quisesse setar no meu bean o value null ou value true como default, para vir selecionado no combobox, como faria?
Tentei com p:selectBooleanButton e também com p:selectOneRadio. Nos dois casos o Não (false) veio como default também. Não gostaria de usar o p:selectBooleanCheckbox, porque a maioria dos usuários ai esquecer de clicar em cima ("checar) quando quiser que ele fique ativo. Um dos motivos de eu ter optado por selectOneMenu foi esse, assim o usuário teria mais facilidade para escolher Sim ou Não, e eu saberia se ele selecionou ou não, além disso, vindo algum valor como padrão,o usuário vai sempre esquecer de alterar e vai salvar com erro, ou seja, vai vir como default false, mas era pra ser true, o usuário não vai lembrar de alterar isso e vai salvar normalmente, futuramente vou ter problemas com isso. Com o selectOneMenu, eu traria o value null como default e obrigaria sempre o usuário a escolher a opção relamente correta e que deseja. Entenderam?
Então kleberdamasco, valeu pela ajuda, eu fiz isso. O problema é que o atributo ativo é boolean, só aceita true ou false, então eu vou ter sempre um desses valores como default, não tem como eu setar esse atributo com null, para que a opção “Selcione…”, venha marcada no selectOneMenu, com isso o usuário pode relaxar e salvar algo como ativo, quando na verdade não era, e vice-versa, entendeu?