Mojarra 2.2 — моментальные снимки и типы документов

Я решил попробовать JSF 2.2 (или то, что у нас есть), поэтому я взял последнюю сборку моментального снимка Mojarra и настроил ее. Теперь у меня есть шаблон, который использует prettyphoto. Он отлично работал на JSF 2.1, но в ту минуту, когда я перешел на последнюю сборку mojarra, окно с красивой фотографией не показывалось. Это сводило меня с ума на пару часов (сейчас у меня на компьютере 2 сервера Glassfish, один с последней модаррой, а другой со стабильной). Я заставил его работать после того, как понял, что последняя сборка mojarra не игнорирует DOCTYPE клиента шаблона, начинающегося с <ui:composition>.

Чтобы сделать мой пример более понятным. У меня есть что-то вроде этого:

JSF МАСТЕРСКИЙ ШАБЛОН С DOCTYPE HTML И НЕСКОЛЬКИМИ ИНТЕРФЕЙСАМИ:ВСТАВКИ

<?xml version='1.0' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets">

ОБЫЧНАЯ СТРАНИЦА JSF, КОТОРАЯ РЕАЛИЗУЕТ ГЛАВНЫЙ ШАБЛОН С СОСТАВОМ DOCTYPE:

<?xml version='1.0' encoding='UTF-8' ?>
<?xml version='1.0' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:jsf="http://java.sun.com/jsf"
                template="./WEB-INF/template/MASTERTEMPLATE.xhtml>


                  .....<ui:define /> etc etc....


</ui:composition>

Когда этот более поздний клиент шаблона отображается в браузере, он отправляется с композицией типа документа. Я думал, что он должен игнорировать все, что находится за пределами ui:composition.. В стабильной сборке Mojarra Composition DOCTYPE игнорируется, и он выходит как HTML...

Я изначально подозревал, что это баг, но может это специально? Хотя они должны были бы сказать вам это, я потерял весь день с этим.


person arg20    schedule 06.03.2013    source источник
comment
Разглагольствования о последнем снимке JSF 2.2?   -  person Luiggi Mendoza    schedule 07.03.2013
comment
Нет, чувак, как я могу разглагольствовать о снимке? Ха-ха. Просто интересно, это ошибка или ожидаемое поведение. Если это ошибка, я сообщу об этом, я просто хотел сначала проверить здесь.   -  person arg20    schedule 07.03.2013
comment
Лучше сообщить об этом, а потом ребята сделают свое дело.   -  person Luiggi Mendoza    schedule 07.03.2013
comment
Подойдет, я просто оставлю этот вопрос здесь на некоторое время на случай, если кто-нибудь знает спецификацию, и удалю, как только я подам отчет   -  person arg20    schedule 07.03.2013
comment
Я довольно долго ломал голову из-за того, что DOCTYPE является композицией, а не html, что вызвало у меня некоторые проблемы с CSS. Наконец-то выяснил порядок, в котором DOCTYPE анализируются для включения шаблонов и т. Д. И мне интересно, в чем смысл композиции DOCTYPE, если все, что она делает, это создает такой хаос ... Я думаю, что удалю все это из 'ui :composition' и сделать мою жизнь проще   -  person Dkyc    schedule 16.10.2014


Ответы (1)


у меня есть этот код

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
        xmlns:h="http://java.sun.com/jsf/html" 
        xmlns:f="http://java.sun.com/jsf/core"                
        xmlns:ui="http://java.sun.com/jsf/facelets"
        xmlns:p="http://primefaces.org/ui"
        template="/template/template.xhtml">

если папка вашего шаблона находится в web-inf, добавьте эту папку

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
            xmlns:h="http://java.sun.com/jsf/html" 
            xmlns:f="http://java.sun.com/jsf/core"                
            xmlns:ui="http://java.sun.com/jsf/facelets"
            xmlns:p="http://primefaces.org/ui"
            template="/WEB-INF/template/template.xhtml">
person ggarridov    schedule 03.09.2013
comment
Этот ответ не имеет никакого смысла. Вы прочитали и поняли вопрос? Если это так и вы уверены, что ответ правильный, отредактируйте свой ответ, указав в технических терминах, как именно почему и как возникает проблема и как этот ответ решает ее. . - person BalusC; 04.09.2013