私はJavaWebアプリケーションを持っています。ExtJとのコンボボックスで(もちろん変換後に)使用したいエンティティクラスがあります。私の問題は次のとおりです。
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>
。
これを機能させるにはどうすればよいですか?HTMLとしてではなく、エンコードされたバージョン(jsonリクエストで取得される)を表示しているのはなぜですか?