3
我有一個java web應用程序。我有一個實體類(經過改造之後)我想用ExtJs的組合框。我的問題如下:ExtJs Combobox displayField編碼
在displayField中可能存在具有html代碼的條目。因爲在使用flexjson.JSONSerializer進行序列化期間,我使用flexjson.HTMLEncoder使條目在下拉列表中可見(在因未終止的字符串文字而使屏幕死亡之前)。到現在爲止還挺好。
editor.myCombo = new Ext.form.ComboBox({
mode: 'local',
editable: false,
forceSelection: true,
triggerAction: 'all',
store: new Ext.data.JsonStore({
fields: ['myId', 'myName'],
emptyItem: {'myName' : '...'},
data: <c:out value="${form.json['myList']}" escapeXml="false"/>
}),
disabled: isEditorDisabled,
width: 75,
listWidth: 160,
displayField: 'myName',
valueField: 'myId'
});
但是,當我從下拉列表中(全部正常顯示像Alfred </script>
)顯示字段將顯示它作爲選擇項目:Alfred </script>
。
我該如何做這項工作?爲什麼它顯示的編碼版本(在json請求中檢索到)而不是HTML?
建議的解決方案在版本4.x中不起作用(在舊版本中沒有測試過) - 組合總是顯示來自valueField的解碼值,而不是顯示字段的解碼值。 爲了使它工作,替換方法正文: 'return Ext.String.htmlDecode(this.displayTpl.apply(this.displayTplData));' – 2013-12-17 15:02:54