Наткнулся тут на интересные грабли при размещении jsp-страниц в директории xforms-jsp веб-приложения Orbeon`а: мало того, что генерируемая jsp-шкой html-страница должна быть валидным xml (с чем я ещё готов как-то мириться), так ещё к тому же Orbeon умудряется по своему усмотрению переносить в пределах документа теги <script>.
А именно: пусть есть некоторая jsp-страница header.inc.jsp, включаемая в другую страницу index.jsp с помощью тега <jsp:include>. Тогда, если на странице header.inc.jsp в блоке <head> есть теги <script> с inline яваскриптом или со ссылками на внешние скрипты, в итоговом html-коде, генерируемом страницей index.jsp, теги <script> окажутся после закрывающегося тега </body>, а вовсе не в <head>.
Такое поведение бывает крайней неудобно, например, когда переменные из js-файлов или inline js-кода используются в теле страницы т.к. предполагается, что js уже загружен в <head>. Единственное пока найденное мною решение - перенести теги <script> из <head> в начало тега <body>.
Вся эта неразбериха вызвана тем, что к jsp-страницам в директории xforms-jsp применяется фильтр org.orbeon.oxf.servlet.OrbeonXFormsFilter, выполняющий рендеринг xform`ы из xml в html (благодаря этому jsp-страницы в этой директории могут содержать xforms-код, который будет корректно отрендерен в html).
Вся эта неразбериха вызвана тем, что к jsp-страницам в директории xforms-jsp применяется фильтр org.orbeon.oxf.servlet.OrbeonXFormsFilter, выполняющий рендеринг xform`ы из xml в html (благодаря этому jsp-страницы в этой директории могут содержать xforms-код, который будет корректно отрендерен в html).
Комментариев нет:
Отправить комментарий