如何使用Sencha touch 2从jsp页面检索数据到我的商店?

时间:2012-04-08 10:13:17

标签: jsp sencha-touch-2

我想在列表中显示从JSP页面检索到的数据。我不知道该怎么做。这是我的JSP页面。请更正JSP页面。

**category_List.jsp**



  %@page import="java.sql.*, java.util.*" %>
<% 
response.setContentType("application/json");

String result = "{\"root\"[{\"category_name\": \"Model number\"}]}";
response.getWriter().print(result);
response.getWriter().flush();
%>

和我的sencha代码

Ext.define('Sample.view.Blog',{
           extend:'Ext.navigation.View',
           xtype:'bloglist',
           config:{
               title:'Blog',
               iconCls:'star',
               scrollable:true,
               styleHtmlContent: true,
               items:{
                   xtype: 'list',
                   itemTpl: '{category_name}',
                   store:{
                       autoLoad: true,
                       fields: ['category_name'],
                       proxy:{
                           type: 'jsonp',
                           url: 'http://192.168.0.8:8080/new/category_list.jsp',
                           reader:{
                               type: 'json',
                                rootProperty: 'root'
                           }
                       }
                   }   
               }
           }
           });

我无法在列表中显示类别名称。谁能帮帮我吗。谢谢

1 个答案:

答案 0 :(得分:0)

尝试以下操作,看看是否有帮助。

  1. 您的JSP文件缺少:root行上的String result节点之后。将该行更改为

    String result = "{\"root:\"[{\"category_name\": \"Model number\"}]}";
    

    目前,您的JSP文件未提供正确的JSON文档,这就是您在列表中看不到结果的原因。

  2. 确保JSP文件提供正确的JSON文档。如果文档不是以[开头并以]结尾,则应将其添加到上一行的开头和结尾。

  3. 将商店代理更改为:

    proxy:{
       type: 'ajax',
       url: 'http://192.168.0.8:8080/new/category_list.jsp',
       reader:{
           type: 'json',
           rootProperty: 'root'
       }
    }