Ошибка JSF 2.0 при отображении h: messages - PullRequest
2 голосов
/ 21 марта 2012

Я пытаюсь найти способ отображения h: messages с выделенной рамкой JQuery UI. Но, поместив его в тег f: verbatim, он не рендерится. Если я попробую что-то вроде разделения на 2 тега f: дословно вокруг HTML, я получу:

javax.servlet.ServletException: Ошибка синтаксического анализа /index.xhtml: Трассировка ошибки [строка: 25] Тип элемента "p" должен заканчиваться соответствующим конечным тегом "

".
<f:verbatim rendered="#{uploadBean.hasMessage}">
    <div class="ui-widget">
    <div class="ui-state-highlight ui-corner-all" style="margin-top: 20px; padding: 0 .7em;"> 
            <p>
        <span class="ui-icon ui-icon-info" style="float: left; margin-right: .3em;"></span>
            **<h:messages />**
    </p>
    </div>
 </div>
</f:verbatim>

1 Ответ

3 голосов
/ 21 марта 2012

Не используйте <f:verbatim> для визуализации партиалов, содержащих компоненты JSF.Там это не для.<f:verbatim> - это пережиток старого и мрачного возраста JSF 1.0 / 1.1, когда было невозможно встроить простые теги HTML на странице JSF.Более того, <f:verbatim> является устаревшим , поскольку JSF 2.0.

Используйте взамен <h:panelGroup>.

<h:panelGroup rendered="#{uploadBean.hasMessage}">
    ...
</h:panelGroup>

При поиске ресурсов / ответов JSF 2.xУбедитесь, что вы читаете целевые JSF 2.x, а не целевые JSF 1.x.Изменение слишком велико, и в JSF 2.x многое сделано иначе / лучше, чем в JSF 1.x.

См. Также:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...