为什么从jsp页面获取的xml数据没有显示在jqgrid中?

时间:2011-01-27 12:45:16

标签: jsp jqgrid

我正在尝试从jsp页面将数据(以xml格式)加载到我的jqgrid中,但我无法理解为什么我没有看到网格中的数据。我尝试了一切,但它仍然没有用。

这是我的html页面:

<script type="text/javascript">


$(document).ready(function()
{                
    jQuery("#list1").jqGrid({
            url:'server.jsp',
            datatype: "xml",
            mtype: 'GET' ,
            colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'],
            colModel:[
                    {name:'id',index:'id', width:75},
                    {name:'invdate',index:'invdate', width:90},
                    {name:'name',index:'name', width:100},
                    {name:'amount',index:'amount', width:80, align:"right"},
                    {name:'tax',index:'tax', width:80, align:"right"},
                    {name:'total',index:'total', width:80,align:"right"},
                    {name:'note',index:'note', width:150, sortable:false}
            ],
            rowNum:10,
            autowidth: true,
            rowList:[10,20,30],
            pager: jQuery('#pager1'),
            sortname: 'id',
        viewrecords: true,
        sortorder: "desc",
        caption:"XML Example"
    }).navGrid('#pager1',{edit:false,add:false,del:false}); 

});

                <table id="list1"></table>
                <div id="pager1"></div>

这是我的jsp页面:

<%

    response.setContentType("text/xml;charset=utf-8");
%>

<?xml version='1.0' encoding = 'utf-8'?>

<rows>
<page>1</page>
<total>5</total>
<records>5</records>
<row id='1'>
<cell>1</cell>
<cell>2</cell>
<cell><![CDATA[eeeeeee]]></cell>
<cell>3</cell>
<cell>4</cell>
<cell>5</cell>
<cell><![CDATA[eeeeeee]]></cell>
</row>
<row id='2'>
<cell>1</cell>
<cell>2</cell>
<cell><![CDATA[eeeeeee]]></cell>
<cell>3</cell>
<cell>4</cell>
<cell>5</cell>
<cell><![CDATA[eeeeeee]]></cell>
</row>
<row id='3'>
<cell>1</cell>
<cell>2</cell>
<cell><![CDATA[eeeeeee]]></cell>
<cell>3</cell>
<cell>4</cell>
<cell>5</cell>
<cell><![CDATA[eeeeeee]]></cell>
</row>
<row id='4'>
<cell>1</cell>
<cell>2</cell>
<cell><![CDATA[eeeeeee]]></cell>
<cell>3</cell>
<cell>4</cell>
<cell>5</cell>
<cell><![CDATA[eeeeeee]]></cell>
</row>
<row id='5'>
<cell>1</cell>
<cell>2</cell>
<cell><![CDATA[eeeeeee]]></cell>
<cell>3</cell>
<cell>4</cell>
<cell>5</cell>
<cell><![CDATA[eeeeeee]]></cell>
</row>
</rows>

我做错了什么?

3 个答案:

答案 0 :(得分:1)

您应该在其他地方搜索问题的原因。

如何查看here您发布的代码会显示数据。只有一点是total的值应该是页数而不是记录数,但XML数据看起来更像是虚拟数据。

答案 1 :(得分:0)

我在使用JSON数据,jquery 1.5和jquery.validate.min.js时遇到了类似的问题。

jquery.validate.min.js的1.8版解决了这个问题!

答案 2 :(得分:0)

在JQgrid中添加 autoencode:true,

  jQuery("#list1").jqGrid({
            url:'server.jsp',
            datatype: "xml",
            autoencode: true,
            mtype: 'GET' ,