2
struts2 응답에서 ExtJS4에 콤보 박스를 채우려고합니다. 그러나 값은 채워지지 않으며 콤보 박스는 비어 있습니다. json 데이터를 하드 코딩하려고 시도했지만 여전히 작동하지 않습니다. 나는 URL에 actionName를 추가하고 작업을 실행하려고 할 때, Struts2 응답에서 ExtJS4 콤보 박스 채우기
"{'rows': [{'id': '1','name': 'Google' }, {'id': '2','name': 'Microsoft' }, {'id': '3','name': 'Yahoo' }]} "
내가 서식 패널에서 나는 콤보 상자 항목이 폼 패널이 ..이 오류없는 내가 JSON 데이터를 볼 수 있습니다 like :
{
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입니다. I는 같은 데이터를 포함하는 변수에 대한 게터 세터를 어디이어서
<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를, I는 JSON-플러그인을 사용한 상기 JSON 전송되도록 그대로 파라미터 태그 사용 변수 및 getBookList 메소드를 사용하여 데이터에 값을 할당하고 SUCCESS를 반환합니다.
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을 얻을 수있었습니다. – user777777
'url : 'getBookList'는 확장 기능이 필요하지 않습니까? –
그래, ExtJS와 Struts가 잘 작동하기 때문에 꽤 확신합니다. 그리고 오늘 같은 코드를 시도 할 때, 문제는 저장소를로드하는 것임을 깨달았습니다. 처음으로하고있는 일. 정확히 무엇이 잘못되었는지 찾을 수 없습니다. ( – user777777