Recuperar id de um SelectOneMenu

5 respostas
S

Como eu recupero a ID de um item nesse selectOneMenu ?

<h:form>

<p:panel header=“Clientes”>

<p:selectOneMenu value="#{clienteMB.cliente}" filter=“true”>

<f:selectItem itemValue="" noSelectionOption=“true” itemLabel=“Selecione um cliente”/>

<f:selectItems value="#{CarrinhoMB.clientes}" var=“cliente” itemValue="#{cliente}" itemLabel="#{cliente.nome}"/>

</p:selectOneMenu>

</p:panel>

</h:form>

5 Respostas

J
<h:form>

<p:panel header=“Clientes”>

<p:selectOneMenu value="#{clienteMB.cliente.id}" filter=“true”>

<f:selectItem itemValue="" noSelectionOption=“true” itemLabel=“Selecione um cliente”/>

<f:selectItems value="#{CarrinhoMB.clientes}" var=“cliente” itemValue="#{cliente.id}" itemLabel="#{cliente.nome}"/>

</p:selectOneMenu>

</p:panel>

</h:form>
S

Fazendo assim ele vai setar no atributo automaticamente, no bean eu só chamo o DAO ?

J

no bean para acessar o dao voce precisa chamar um metodo

S

Exato, eu faço isso

esse é o metodo que o botão chama

public void finalizarCarrinho(){

idao.CadastrarPedido§;

}

Esse é o DAO

public void CadastrarPedido(Pedido p){

Connection con = Conexao.getConnection();

PreparedStatement stmt = null;
try {
        stmt = con.prepareStatement("INSERT INTO pedido (data, id_cliente) VALUES(?,?)");
        stmt.setString(1,p.getData());
        stmt.setInt(2, p.getId());
        stmt.executeUpdate();
    } catch (SQLException ex) {
        System.out.println(ex);
    }finally{
        Conexao.closeConnection(con,stmt);
    }
}

Essa é a classe pedido

public class Pedido extends Cliente{

String pattern = "yyyy-MM-dd";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
private String data = simpleDateFormat.format(new Date());

Mas a id volta 0, eu debuguei o código, a data está inserindo certo eu testei

S

Me perdoe a ignorância,mas precisa mais alguma coisa fora isso, um Converter, hashCode ou algo assim ?

Criado 2 de março de 2019
Ultima resposta 2 de mar. de 2019
Respostas 5
Participantes 2