Slyfer
#1
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>
<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>
Slyfer
#3
Fazendo assim ele vai setar no atributo automaticamente, no bean eu só chamo o DAO ?
no bean para acessar o dao voce precisa chamar um metodo
Slyfer
#5
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
Slyfer
#6
Me perdoe a ignorância,mas precisa mais alguma coisa fora isso, um Converter, hashCode ou algo assim ?