Я использую struts 2 и шаблоны скорости для генерации ответа JSON. Теперь улов - это ответ, который не генерируется с использованием некоторого плагина JSON скорости , это просто строка, которая выходит, когда скорость выполняется с его разбором и рендерингом ответа , а на стороне клиента я делаю eval, чтобы получить ответ от строка в JSON.Преобразование реакции скорости на JSON
Что мне действительно нужно - это решение на стороне скорости или стойки, где, когда результат получается , сгенерированный с помощью скорости, фреймворк должен вызывать мой API, где я могу преобразовать вывод ответа vm-файла в JSON, используя мою собственную логику , Как достичь этого?
Например:
- На браузере с помощью JavaScript Я разработал дерево виджет, который я использую для отображения комментариев в древовидной структуре.
- Скажите, что пользователь нажимает кнопку комментариев.
- Мой виджет пользовательского интерфейса запускает AJAX для получения данных для комментариев.
- Этот запрос перехвачен картой STRUTS 2.
- Он будет вызывать, скажем,
getComments()
action API и заполняет массивList объектом комментария say cmt. - Теперь отклик обрабатывается шаблоном скорости (*. Vm).
Сейчас в виртуальной машине я пишу такой код:
{ "CommentsData" : [ #set($sep="") #foreach($c in $cmt) $sep { "commentText" : $c.getText() } #set($sep=",") #end }
Теперь окончательный ответ может получиться так:
{ "CommentsData" : [ { "commentText" : "This is comment 1" }, { "commentText" : "This is comment 2" }, { "commentText" : "This is comment 3" }, { "commentText" : "This is comment 4" }` ] }
Теперь это может выглядеть как JSON, но его не строгий JSON; Я имею в виду, если я пропущу примерно
,
где-то тогда на стороне клиента в JavaScript мой может закончиться ошибкой, илиJSON.parse()
проиграет, но по шаблону скорости я теперь понял, если JSON искажен.Итак, как только будет сформирован вышеуказанный шаблон скорости, мне нужно некоторое управление, где я могу написать код Java, чтобы сделать некоторые проверки на ответ.
Я вижу, что мой подход к использованию шаблона скорости для генерации вывода JSON (actully a String, который похож на JSON) может быть неправильным. Но все же мне нужно обработать ответ каждого шаблона скорости, который я написал.
Если вы выводите JSON, нет необходимости в шаблонизации (скорости). Возможно, вы используете скорость, отличную от меня, но я не вижу, как шаблон будет полезен при выводе json. Пример того, что вы делаете, прояснит ситуацию –
, довольно запутанную для меня. Что вы делаете с VM.as, это что-то временное, с помощью полной помощи пользователя Engine.a для получения некоторых входов –
Это плохое использование для шаблонов, это запутанный код ошибки. Вам не нужно создавать JSON.Просто используйте библиотеку JSON для генерации вывода. –