0

Hello guys please i need a little help on the most efficient way to do servlet MVC with Jquery i have been doing it like the code below which works fine but i noticed it's not the efficient way especially storing the data in jsonArray in my servlet

this is my jquery/ajax code

 function dippingData()
 {
    
     $('#dippingTable').dataTable().fnDestroy();
     $.ajax({
         
         url: "stockController",
         type : "POST",
         dataType : "JSON",
         data:{"option":'getDippingData'},
         
         success:function(data)
         {
             
            $('#dippingTable').dataTable({
                "aaData":data,
                "scrollX": false,
                
                
                "aoColumns":
                        [
                          
                           {"sTitle": "#","mData": "number"},
                         
                         {
                             "sTitle":
                             "Date",
                             "mData": "date",
                             "render" : function(mData,type,row,meta)
                             {
                                var ids =row["id"];
                                return '<a data-toggle="modal" data-target="#stockModal" style="cursor:pointer; font-size:12px" onclick="update('+ids+')">'+mData+'</a>';
                                 
                             }
                        },
                        {
                             "sTitle":
                             "Product",
                             "mData": "product",
                             "render" : function(mData,type,row,meta)
                             {
                                var ids =row["id"];
                                return '<a data-toggle="modal" data-target="#stockModal" style="cursor:pointer; font-size:12px" onclick="update('+ids+')">'+mData+'</a>';
                             }
                        },
                        {
                             "sTitle":
                             "Open Dipping",
                             "mData": "open",
                             "render" : function(mData,type,row,meta)
                             {
                                var ids =row["id"];
                                return '<a data-toggle="modal" data-target="#stockModal" style="cursor:pointer; font-size:12px" onclick="update('+ids+')">'+mData+'</a>';
                             }
                        },
                        
                        {
                             "sTitle":
                             "Received",
                             "mData": "supply",
                             "render" : function(mData,type,row,meta)
                             {
                                var ids =row["id"];
                                return '<a data-toggle="modal" data-target="#stockModal" style="cursor:pointer; font-size:12px" onclick="update('+ids+')">'+mData+'</a>';
                             }
                        },
                        
                        {
                             "sTitle":
                             "Total Stock",
                             "mData": "total",
                             "render" : function(mData,type,row,meta)
                             {
                                var ids =row["id"];
                                return '<a data-toggle="modal" data-target="#stockModal" style="cursor:pointer; font-size:12px" onclick="update('+ids+')">'+mData+'</a>';
                             }
                        },
                        {
                             "sTitle":
                             "Closing Dipping",
                             "mData": "close",
                             "render" : function(mData,type,row,meta)
                             {
                                var ids =row["id"];
                                return '<a data-toggle="modal" data-target="#stockModal" style="cursor:pointer; font-size:12px" onclick="update('+ids+')">'+mData+'</a>';
                             }
                        },
                        
                        {
                             "sTitle":
                             "Sales (In Litres)",
                             "mData": "sales",
                             "render" : function(mData,type,row,meta)
                             {
                                var ids =row["id"];
                                return '<a data-toggle="modal" data-target="#stockModal" style="cursor:pointer; font-size:12px" onclick="update('+ids+')">'+mData+'</a>';
                             }
                        },
                        
                        {
                             "sTitle":
                             "Sales Per Meter",
                             "mData": "meter",
                             "render" : function(mData,type,row,meta)
                             {
                                var ids =row["id"];
                                return '<a data-toggle="modal" data-target="#stockModal" style="cursor:pointer; font-size:12px" onclick="update('+ids+')">'+mData+'</a>';
                             }
                        },
                        
                        {
                             "sTitle":
                             "Variation",
                             "mData": "variation",
                             "render" : function(mData,type,row,meta)
                             {
                                var ids =row["id"];
                                return '<a data-toggle="modal" data-target="#stockModal" style="cursor:pointer; font-size:12px" onclick="update('+ids+')">'+mData+'</a>';
                             }
                        },
                        
                        {
                             "sTitle":
                             "Rate",
                             "mData": "rate",
                             "render" : function(mData,type,row,meta)
                             {
                                var ids =row["id"];
                                return '<a data-toggle="modal" data-target="#stockModal" style="cursor:pointer; font-size:12px" onclick="update('+ids+')">'+mData+'</a>';
                             }
                        },
                        
                        {
                             "sTitle":
                             "Amount GHC",
                             "mData": "amount",
                             "render" : function(mData,type,row,meta)
                             {
                                var ids =row["id"];
                                return '<a data-toggle="modal" data-target="#stockModal" style="cursor:pointer; font-size:12px" onclick="update('+ids+')">'+mData+'</a>';
                             }
                        },
                        
                        {
                             "sTitle":
                             "Delete",
                             "mData": "amount",
                             "render" : function(mData,type,row,meta)
                             {
                                var ids =row["id"];
                                return '<a style="cursor:pointer; color:red" onclick="del('+ids+')"><i class="fa-regular fa-trash-can"></i></a>';
                             }
                        },
                       
                        ]
            });
           
         },
         error(err){
                  alertify.error('Error fetching data');
              }
       
     });
     
 }

the function above calls the servlet method below

private void getReports(HttpServletRequest request, HttpServletResponse response) {
    module.setDate(request.getParameter("date1"));
    module.setDate2(request.getParameter("date2"));
    module.setBranch(request.getParameter("stockBranch"));
    int number=0;
    ArrayList<stockModule>stocks = dao.getDippingData1(module);
    for(stockModule stock : stocks) {
        try {
            JSONObject obj = new JSONObject();
            number+=1;
            obj.put("id", stock.getId());
            obj.put("date", stock.getDate());
            obj.put("product", stock.getProduct());
            obj.put("open", stock.getOpeningSock());
            obj.put("supply", stock.getSupply());
            obj.put("total", stock.getTotalStock());
            obj.put("close", stock.getClosingStock());
            obj.put("sales", stock.getSales());
            obj.put("meter", stock.getMeter());
            obj.put("rate", stock.getRate());
            obj.put("amount", stock.getAmount());
            obj.put("variation", stock.getVariation());
            obj.put("number", number);
            list.add(obj);
        }catch(Exception e) {
            e.printStackTrace();
        }
        
    }
    out.println(list.toJSONString());
    out.flush();
    list.clear();
    session.setAttribute("query", module.getQuery());
    
    
}

0 Answers0