我在action里获取一个list并存放在了session里ServletActionContext.getContext().put("pList",pList);
现在我要在extjs里获得pList并做成下拉框,
struts2的配置文件如下
<package name="demo" extends="json-default">
     <action name="BugAciton" class="com.nine.action.BugAction" method="managePage">
     <result type="json">
     <param name="root">pList</param>
     </result>
     </action>
</package>那么我在ext里应该怎么写呢?刚刚开始学ext什么都不会,求教大神

解决方案 »

  1.   

    是这样么? 
    var prostore=Ext.create('Ext.data.Store',{
         model:'proinfo',
         autoLoad:true,
    proxy:  {
    type: 'ajax',//Ext.data.AjaxProxy
    url : 'BugAciton',
    reader: new Ext.data.JsonReader({    
        totalProperty: 'totalCount',    
         root: 'pList'},[
                 {name:'project'},
             ])
     }
       }); -------定义数据源
       xtype:'combo',        
       name:'project',
    fieldLabel : '项目名*',
    store:prostore,//配置数据源
    displayField:'project',
    valueField:'project',
    queryMode:'local',
    forceSelection:true,
    typeHead:true,
      

  2.   

    reader: new Ext.data.ArrayReader({})
      

  3.   

    就是Combobox..
    //布种 直接从数据库读去数据生成列表
                    var fabircTypeDs = new Ext.data.Store({
                         proxy: new Ext.data.HttpProxy({
                              url: CONTEXT_PATH+'/fabrictype/fabrictypeAll.action'
                         }),
                         reader: selReader,
                         remoteSort: false
                        });
                    fabircTypeDs.load();
                    var fabircTypeCmb = new Ext.form.ComboBox({
                        fieldLabel: '布种',
                        store: fabircTypeDs,
                        hiddenName:'softId',
                        loadingText: 'searching...',
                        displayField : 'name',
                        mode:'local',
                        editable : false,
                        valueField: 'id',
                        width: 170,
                        triggerAction: 'all'
                        });
                        //供应商   当用户输入数据时根据输入信息进行模糊查询,动态生成列表,类似google搜索框
                    var dsSupplier = new Ext.data.Store({
                                proxy: new Ext.data.ScriptTagProxy({
                                   url:CONTEXT_PATH+'/supplier/supplierAll.action'
                              }),
                                  reader: new Ext.data.JsonReader({
                                    root: 'gridRows',
                                   totalProperty: 'totalCount'
                                }, [
                                      {name: 'id', mapping: 'id'},
                                    {name: 'name', mapping: 'name'}
                                  ])
                            });
                    var supplierCmb = new Ext.form.ComboBox({
                        fieldLabel:'供应商',
                        store: dsSupplier,
                        displayField:'name',
                        valueField: 'id',
                        typeAhead: true,
                        loadingText: 'loading...',
                        width: 170,
                        hiddenName:'name',
                        hideTrigger:true,
                        minChars:1,
                        forceSelection:true,
                        triggerAction: 'all'
                    });