Я разрабатываю веб-приложение, использующее ExtJS для создания графического интерфейса и общения с сервером через веб-службу RESTful (возвращаемые данные форматируются как объекты JSON).
Теперь у меня возникают проблемы при обработке данными, содержащими HTML-теги, коды Javascript внутри; потому что, когда я устанавливаю эти значения в формы Ext, метки, поля ввода, на них влияют эти синтаксисы.
Я использовал эту функцию для загрузки данных из объекта модели в форму:
form.loadRecord(model);
Я нашел решение для выхода из HTML и JS: используя
field.setValue(Ext.util.Format.htmlDecode(data));
но я думаю, что это не очень хорошее решение для всего приложения, потому что разработчики должны делать так много всего: просмотрите все поля ввода, метки и поставьте для них этот фрагмент. И в конце концов, это не прекрасный способ построить быстрое, надежное и поддерживаемое приложение.
Итак, не могли бы вы помочь мне в решении, чтобы его можно было изменить в одном месте и повлиять на остальных. Могу ли я переопределить setValue/setLabel AbstractComponent? Или я должен кодировать данные перед их рендерингом? И как декодировать эти данные?
(P/S: я использую структуру Grails на стороне сервера)
Большое вам спасибо.