我无法获得组合框值

时间:2015-07-08 12:30:31

标签: java spring hibernate extjs combobox

这里我有这样的组合框形式

Ext.define('test.view.user.ComboBox', {
extend : 'Ext.form.ComboBox',
alias : 'widget.comboBox',
fieldLabel : 'Employee Id',
hiddenName : 'EmpId',
//url :'test/empIdList',
store : 'EmpIdStore',
valueField : 'value',
displayField : 'text',
triggerAction : 'all',
name:'empId',
editable : false,
allowBlank: false,
//autoSelect:true,
  // forceSelection:true,
listeners : {
    select: function() 
    {
        this.store.load();{
        alert("hello");
        }
    }
}
});

我有一个商店

Ext.define('test.store.EmpIdStore', {
extend: 'Ext.data.Store',

itemId:'empIdStore',

reader: new Ext.data.JsonReader({
    data : [['', '']],
fields: ['EmployeeId', 'userId'],
}),
proxy: new Ext.data.HttpProxy({
    type:'ajax',
url: 'test/empIdList'
})
});

我点击组合框时无法获取值。

我在这个应用程序中使用Hibernate,Spring MVC和extjs MVC。在我的spring控制器中,我有像这样的empIdList方法

@RequestMapping(value = "/empIdList", method = { RequestMethod.POST , RequestMethod.GET})
public void empIdList(HttpServletRequest request,HttpServletResponse response) throws Exception {
    System.out.println("Hitting db");
    String userId="";
    String s=userDao.empIdList(userId);
    System.out.println(s);
    PrintWriter out = response.getWriter();
    out.println(s);
}

我在UserDaoImpl类中有我的实现方法,就像这样

@Override
public String empIdList(String data) 
{
    String id="";
    List<User> lstUsers = new ArrayList<User>();
    lstUsers = hibernateTemplate.loadAll(User.class);
    for (int i = 0; i < lstUsers.size(); i++) {
        id = lstUsers.get(i).getUserId();
        System.out.println(" Employee id "+id);
        User obj=new User();
        obj.setUserId(id);
        Gson gson = new Gson();
        String json = gson.toJson(obj); 
        System.out.println(json);
    }
    return id; 
}

任何人都可以帮助我获取组合框的值吗?

1 个答案:

答案 0 :(得分:1)

通过更改商店中的代理,我得到了结果。这是我的代码

Ext.define('test.store.EmpIdStore', {
extend: 'Ext.data.Store',
alias : 'widget.empIdStore',
autoLoad: false,
fields: ['id', 'userId'],
proxy: {
    type: 'ajax',
    url: 'test/empIdList',
    reader: {
        type: 'json',
        root: 'data'
    }
}
});