Salve galera!!
sequinte estou fazendo um sistema de Pedidos Web e estou utilizando o framework Vraptor 3.5.
O Sistema é o sequinte, o usuario se loga e digita o pedido, (cliente,obs,frete.etc) a parte de cima do pedido tudo bem.
Os itens (produto) do pedido esta me dando um pouco de trabalho.
jsp
<form id="meuitens" method="post">
<table>
<tr>
<td align="right">Referencia</td>
<td align="right">Quantidade</td>
<td align="right">Valor</td>
</tr>
<tr>
<td><input id="referencia" name="referencia" type="text" size="7" value="${referencia}" class="text ui-widget-content ui-corner-all"> </td>
<td ><input id="quantidade" type="text" size="7" value="${quantidade}" class="text ui-widget-content ui-corner-all"> </td>
<td ><input id="valor" type="text" size="7" value="${valor}" class="text ui-widget-content ui-corner-all"> </td>
</tr>
</table>
</form>
<button onclick="incluir()">Incluir Produto</button>
Javascript
function incluir(){
$.ajax({
type: "POST",
url: '<c:url value="/pedido/additen"/>',
data: 'referencia=' +$("#referencia").val()+"&quantidade="+$("#quantidade").val()+"&valor="+$("#valor").val(),
dataType: "json",
success: function(msg){alert(msg)}
});
}
Controller
@Post
@Path("/pedido/additen")
public void additen(String quantidade,String referencia,String valor){
PedidoIten iten = new PedidoIten();
iten.setQuantidade(Integer.parseInt(quantidade));
iten.setValor(new BigDecimal(valor));
sessao.getCarrinho().add(iten);
List<PedidoIten> itens = sessao.getCarrinho();
}
Formulario
public void form(){
sessao.limpaCarrinho();
result.include("pedido",pedido);
}
eu tive que criar um carrinho na sessao do usuario, pois senao cada vez que o usuario clicar no botao ‘incluir produto’ ele iria limpar a lista de itens.
entao quando o usuario clica pra fazer um pedido eu limpo o carrinho.
Minha duvida é!!
Esta certo isso que eu fiz??
Existe uma maneira melhor???
Obrigado