Как напечатать ответ на jqGrid в struts2 - PullRequest
1 голос
/ 11 февраля 2012

Привет, я использую jqgrid в своем приложении с гибридами struts2. Я получил все ответы правильно на моей странице просмотра, я могу видеть это через мой инструмент firebus. Но моя проблема в том, как я могу напечатать значение в сетке. Я отвечу на странице JSP ниже этой страницы.

Вот мой скрипт на моей странице jsp

       <script type="text/javascript">

jQuery(document).ready(function(){
  jQuery("#list2").jqGrid({ 
    url:'server.action?q=2', 
    datatype: "json", 
    colNames:['id','name'], 
    colModel:[ {name:'id',index:'id'}, 
               {name:'name',index:'name'}], 
    rowNum:10, 
    pager: '#pager2', 
    sortname: 'id', 
    viewrecords: true, 
    sortorder: "desc", 
    caption:"JSON Example" }); 
jQuery("#list2").jqGrid('navGrid','#pager2',{edit:false,add:false,del:false});
});

</script>

мой ответ пришел, как это

{"allUsers":"success",
"allUsersViaScript":"success",
"cell":[
   {"id":1,"name":"Aaronsburg","stateCode":"39"},
   {"id":2,"name":"Abbeville","stateCode":"2"},
   {"id":3,"name":"Abbeville","stateCode":"11"},
   {"id":4,"name":"Abbeville","stateCode":"19"},
   {"id":5,"name":"Abbeville","stateCode":"26"},
   {"id":6,"name":"Abbeville","stateCode":"41"},
   {"id":7,"name":"Abbot","stateCode":"22"},
   {"id":8,"name":"Abbotsford","stateCode":"49"},
   {"id":9,"name":"Abbott","stateCode":"44"},
   {"id":10,"name":"Abbottstown","stateCode":"39"},
   {"id":11,"name":"Abbyville","stateCode":"17"},
   {"id":12,"name":"Abell","stateCode":"21"},
   {"id":13,"name":"Abercrombie","stateCode":"29"},
   {"id":14,"name":"Aberdeen","stateCode":"14"},
   {"id":15,"name":"Aberdeen","stateCode":"18"},
   {"id":16,"name":"Aberdeen","stateCode":"21"},
   {"id":17,"name":"Aberdeen","stateCode":"26"},
   {"id":18,"name":"Aberdeen","stateCode":"28"},
   {"id":19,"name":"Aberdeen","stateCode":"36"},
   {"id":20,"name":"Aberdeen","stateCode":"42"},
   {"id":21,"name":"Aberdeen","stateCode":"48"},
   {"id":22,"name":"Aberdeen Proving Ground","stateCode":"21"},
   {"id":23,"name":"Abernant","stateCode":"2"},
   {"id":24,"name":"Abernathy","stateCode":"44"},
   {"id":25,"name":"Abie","stateCode":"30"},
   {"id":26,"name":"Abilene","stateCode":"17"},
   {"id":27,"name":"Abilene","stateCode":"44"},
   {"id":28,"name":"Abingdon","stateCode":"15"},
   {"id":29,"name":"Abingdon","stateCode":"21"},
   {"id":30,"name":"Abingdon","stateCode":"46"},
   {"id":31,"name":"Abington","stateCode":"7"},
   {"id":32,"name":"Abington","stateCode":"20"},
   {"id":33,"name":"Abington","stateCode":"39"},
   {"id":34,"name":"Abiquiu","stateCode":"33"},
   {"id":35,"name":"Abita Springs","stateCode":"19"},
   {"id":36,"name":"Abrams","stateCode":"49"},
   {"id":37,"name":"Absaraka","stateCode":"29"},
   {"id":38,"name":"Absarokee","stateCode":"27"},
   {"id":39,"name":"Absecon","stateCode":"32"},
   {"id":40,"name":"Acampo","stateCode":"5"},
   {"id":41,"name":"Accident","stateCode":"21"},
   {"id":42,"name":"Accokeek","stateCode":"21"},
   {"id":43,"name":"Accomac","stateCode":"46"},
   {"id":44,"name":"Accord","stateCode":"20"},
   {"id":45,"name":"Accord","stateCode":"35"},
   {"id":46,"name":"Accoville","stateCode":"50"},
   {"id":47,"name":"Ace","stateCode":"44"},
   {"id":48,"name":"Achille","stateCode":"37"},
   {"id":49,"name":"Achilles","stateCode":"46"},
   {"id":50,"name":"Ackerly","stateCode":"44"}
],
"cityList":null,
"page":1,
"records":29738,
"rowNum":null,
"rows":50,
"total":595,
"userList":[],
"userList1":null
}

, а также мой struts.xml выглядит следующим образом.

<action name="server" class="com.actions.userList" method="getAllUsersViaScript" >
   <result name="success" type="json" >/WEB-INF/list.jsp</result>
</action>

это код.

И я также написал установщик и получатель для всех моих переменных, которые я инициализировал на моей странице Java. У любого есть представление о том, что является ошибкой с моей стороны.

EDIT # 1

Когда я вставляю код, он генерирует шаблон jqgrid на моей странице jsp, но данные не заполняются в jqgrid, хотя я правильно получил все данные в своей консоли. Разбивка на страницы и все работает в сетке, но данные, которые мне нужно перечислить, я не могу вставить в сетку.

1 Ответ

3 голосов
/ 11 февраля 2012

Используйте это в своей html части тела

 <table id="list2" cellpadding="0" cellspacing="0" class=child>    
</table>
 <div id="pager2" class="scroll" style="height:50px"></div> 
 <table>

РЕДАКТИРОВАТЬ: Хорошо, какую версию jqGrid вы используете?Как я вижу, вы не используете "postData".

Проверьте приведенный ниже пример из моего рабочего кода:

  $grid = $("#table");
        $grid.jqGrid({
            url: '../../Services/BranchService.asmx/getBranches',
            datatype: 'json',
            mtype: 'POST',
            ajaxGridOptions: { contentType: 'application/json; charset=utf-8' },
            serializeGridData: function (postData) {

                if (postData.searchField === undefined) postData.searchField = null;
                if (postData.searchString === undefined) postData.searchString = null;
                if (postData.searchOper === undefined) postData.searchOper = null;
                //if (postData.filters === undefined) postData.filters = null;
                return JSON.stringify(postData);
            },

            jsonReader: {
                root: "d.rows",
                page: "d.page",
                total: "d.total",
                records: "d.records",
                id: "d.names"
            },
            colModel: [
                     { name: 'select', label: 'select' },                        
                     { name: 'code', label: 'Branch Code' },
                     { name: 'name', label: 'Branch Name' },
                     { name: 'status', label: 'Branch Status'}

                ],


            rowNum: 10,
            rowList: [10, 20, 300],
            sortname: 'name',
            sortorder: "asc",
            pager: "#pager",
            viewrecords: true,
            gridview: true,
            rownumbers: true,
            height: 250,
            autowidth: true,
            caption: 'Branch List',              

        }).jqGrid('navGrid', '#pager', { edit: false, add: false, del: false, search: true });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...