Я пытаюсь заполнить выпадающий список в ExtJS4 из ответа struts2. Но значения не заполняются, а поле со списком пусто. Я также пытался жестко кодировать данные json, но все же он не работает. Когда я пытаюсь присоединить ActionName к URL и выполнить действие, нет никакой ошибки, и я могу видеть данные JSon ..заполнить ExtJS4 combobox от ответа Struts2
"{'rows': [{'id': '1','name': 'Google' }, {'id': '2','name': 'Microsoft' }, {'id': '3','name': 'Yahoo' }]} "
У меня есть форма панели в виде панели у меня есть элемент управления ComboBox например:
{
name: 'bName',
xtype: 'combobox',
displayField: 'name',
valueField: 'id',
store: new Ext.data.Store({
fields: [{id: 'id'}, {name: 'name'}],
autoLoad: true,
proxy: {
type: 'ajax',
url: 'getBookList',
reader: {
type: 'json',
root: 'rows'
}
}
})
}
Вот мои struts.xml. Я использовал JSON-плагин и тег параметр используется таким образом, что JSON передается как есть,
<package name="ELM29" extends="struts-default,json-default">
<action name="getBookList" class="com.test.elm.action.Data"
method="getBookList">
<result type="json">
<param name="root">data</param>
</result>
</action>
</package>
Тогда у меня Book.java, где у меня есть геттер сеттер для переменных, включая данные как variable и метод getBookList, где я просто присваиваю значение данным и возвращающ УСПЕХ.
public String getBookList(){
data= "{'rows': [{'id':'1','name':'Google'},{'id':'2','name':'Microsoft'},{'id':'3','name':'Yahoo'}]} ";
return ActionSupport.SUCCESS;
}
Я также попытался с помощью Ext.data.JsonStore
, но это не помогло. Проблема вызвана из-за магазина или со списком? Что не так в коде?
Спасибо, я изменил json, но никаких изменений в выходе ... комбо не заполняется в форме. Но, используя form.submit(), я смог получить json в объекте result. – user777777
Вы уверены, что ваш 'url: 'getBookList' не нуждается в расширении? –
Да, конечно, потому что ExtJS и Struts отлично работают вместе. И сегодня, когда я пытался использовать один и тот же код, я понял, что проблема связана с загрузкой магазина ..., который я делаю в первый раз ... и не могу найти, что именно не так :( – user777777