Sistema de Pedido com VRaptor 3.5

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