How to take the value of a variable that is pointing to a list

Asked

Viewed 131 times

0

Hello,

I need some help with this code. I think it’s relatively simple for those who already have more experience.

I’m trying to get the value of a variable, but when debugging, I see the address and not the value.

// Meu xhtml em que o valor que preciso está no atributo conta da Lista (listaContasSelecionadas) que é uma lista que o usuário seleciona por meio de check box na tela.

<p:outputLabel for="contaCorrente">
    <b>Conta Corrente:</b>
</p:outputLabel>
<p:selectOneMenu id="contaCorrente"
    value="#{meuBean.contaCorrente}"
    valueChangeListener="#{meuBean.contaMudaLista}">
    <f:selectItem itemLabel="#{ msg['selecione.um'] }" />
    <f:selectItems
        value="#{meuBean.listaContasSelecionadas}"
        var="dadosConta"
        itemLabel="#{dadosConta.conta}"
        itemValue="#{dadosConta}" />
</p:selectOneMenu>

// Meu Bean
// Declaraçao da lista 

private List<ContaDTO> listaContasSelecionadas;

`insira o código aqui`// Declaração da variável conta Corrente

@Getter @Setter
private String contaCorrente;

// Atribuição para pegar o dado da variável conta Corrente.

FormaPagto.setConta(getContaCorrente());

// Imprime o valor para conferência

System.out.println("conta "+getContaCorrente()));

1 answer

0

Hello, I don’t think you need to use the event valueChangeListener="#meuBean.contaMudaLista}", because when the value is selected, it will automatically be assigned to private String contaCorrente. However, this attribute is in the type String, so your list should be List<String> listaContasSelecionadas and not List<ContaDTO> listaContasSelecionadas.

Try changing the attribute private String contaCorrente for private ContaDTO contaCorrente. Add a JSF utility library: Omnifaces, using a Converter: converter="omnifaces.SelectItemsConverter", so it will show the value and not the address.

<p:selectOneMenu id="contaCorrente"
    value="#{meuBean.contaCorrente}"
    converter="omnifaces.SelectItemsConverter">
    <f:selectItem itemLabel="#{ msg['selecione.um'] }" noSelectionOption="true" />
    <f:selectItems
        value="#{meuBean.listaContasSelecionadas}"
        var="dadosConta"
        itemLabel="#{dadosConta.conta}"
        itemValue="#{dadosConta}" />
</p:selectOneMenu>

Browser other questions tagged

You are not signed in. Login or sign up in order to post.