我有一个Java网络应用程序。我有一个实体类,当然需要转换,我希望可以在ExtJs的下拉列表中使用它。我的问题如下:
displayField中可能有HTML代码条目。因此,在使用flexjson.JSONSerializer进行序列化时,我使用了flexjson.HTMLEncoder使得下拉列表中的条目可见(之前由于未结束的字符串字面量导致屏幕死机)。到目前为止还不错。
但是当我从下拉菜单中选择一个项目(所有显示都正确,例如
我应该如何使其正常工作?为什么它显示的是编码版本(这是在JSON请求中检索到的),而不是HTML?
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?
return Ext.String.htmlDecode(this.displayTpl.apply(this.displayTplData));
- Michal Levý