Как отправить параметр на серверную часть и вернуть json в datatable с помощью spring mvc - PullRequest
0 голосов
/ 12 июня 2018

я новичок в таблице данных. Я использую datatable fn serverparam с пружинным mvc, но не могу получить правильный вывод.чтобы увидеть вывод в моем jsp

Мой код DataTable

function showData()
{
var application_name=document.getElementById("appname").value;
var loc =document.getElementById("location").value;
var fromDate =document.getElementById("datepickerfrom").value;
var toDate =document.getElementById("datepickerto").value;
alert(application_name+"=="+loc+"=="+fromDate+"=="+toDate);
table = $('#example').dataTable({
        "bPaginate": true,
        "order": [ 0, 'asc' ],
        "bInfo": true,
        "iDisplayLength": 10,
        "iDisplayStart": 0,
        "bProcessing" : true,
        "bServerSide" : true,
        "sAjaxSource" :"showAllAppData",
        "fnServerData": function ( sSource, aoData, fnCallback ) {
            /* Add some extra data to the sender */
            aoData.push( {"name": "appname", "value": application_name} );
            aoData.push( {"name": "location", "value": loc} );
            aoData.push( {"name": "fromDate", "value": fromDate} );
            aoData.push( {"name": "toDate", "value": toDate} );
            $.getJSON( sSource, aoData, function (json) { 
                /* Do whatever additional processing you want on the callback, then tell DataTables */
                alert( JSON.stringify(json));
                fnCallback( JSON.stringify(json))
            } );
        },


            "paging" : true,
              "pageLength" : 5,
              "ordering" : true,

        "dom": 'C<"clear">lfrtip',
        colVis: {
            "align": "right",
            restore: "Restore",
            showAll: "Show all",
            showNone: "Show none",
            order: 'alpha',
            "buttonText": "columns <img src=\"/datatableServersideExample/images/caaret.png\"/>"
        },
        "language": {
            "infoFiltered": ""
        },
        "dom": 'Cf<"toolbar"">rtip',

      })
          .columnFilter({
              aoColumns: [ 
                             { type: "number"},
                             { type: "text" },
                             { type: "text" },
                             { type: "text" },
                             { type: "text" },
                             { type: "text" },
                        ],
                    bUseColVis: true
           }).fnSetFilteringDelay();
        $("#personTable_length").hide();
        $("div.toolbar").append('<div class="btn-group" style="padding:5px "><button class="btn btn-default" id="refreshbtn" style="background:none;border:1px solid #ccc;height:30px" type="button"><span class="glyphicon glyphicon-refresh" style="padding:3px"></span></button></div>');
           $("div.toolbar").css("float","right");
           $('#refreshbtn').click(function(){
               table.fnStandingRedraw();
       });

}

выше, я передаю данные на серверную сторону, используя fnserverData

мой контроллер srping

@RequestMapping(value="/showAllAppData",method=RequestMethod.GET)
@ResponseBody
public void showErrorData(@ModelAttribute("Execution") ExecutionDataDetails lineResp,  
        Model model,HttpServletRequest re,HttpServletResponse res) throws IOException
{
    HttpSession se= re.getSession();
    JSONObject jsonObj= new JSONObject();
    Map<String,Object> result=new HashMap<String,Object>();
    String userName=(String)se.getAttribute("userName");
    String appname = (String)re.getAttribute("appname");
    String location = (String)re.getAttribute("location");
    String fromDate = (String)re.getAttribute("fromDate");
    String toDate = (String)re.getAttribute("toDate");
    JSONArray array = new JSONArray();
    List<ExecutionDataDetails> 
  allAppData=allAppService.getAllAppData(lineResp);//getting data from DAO



    for(ExecutionDataDetails ex :allAppData)//iterating data and assing to JSONarray
    {
        JSONArray ja = new JSONArray();
        ja.put( ex.getAppname());
        ja.put(ex.getPageName());
        ja.put(ex.getLocation());
        ja.put(ex.getAvailability());
        ja.put(ex.getResponseTime());
        ja.put( ex.getTimeValue());
        array.put(ja);  
    }
    jsonObj.put("iTotalRecords", allAppData.size());
    jsonObj.put("iTotalDisplayRecords", allAppData.size());
    jsonObj.put("aaData", array);
    PrintWriter out = res.getWriter();
    res.setContentType("application/Json");
    out.print(jsonObj);


}

пока я возвращаю данные в js, я получаю неопределенное исключение длины

заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...