Установлен в JSF Mojarra
Какой тип документа следует использовать на страницах JSF? На днях я пытаюсь перейти с Mojarra 2.1.13 на 2.1.18, и кажется, что способ интерпретации типов doc изменился. В корневом шаблоне у меня есть следующий тип DOC
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Должен ли я также включить это?
<?xml version="1.0"?>
В композитах (которые используют этот шаблон) у меня был следующий doctype
<!DOCTYPE composite PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Но похоже, что Mojarra 2.1.18 на самом деле не поддерживает это. Кроме того, я не нашел этого ни в одном справочнике JSF 2.0, это мы использовали в JSF 1.2. Если у меня есть этот doctype в составной странице, он будет отображать составной doctype вместо html, который находится в шаблоне. В результате стили css перепутались.
Итак, как правильно использовать doctypes в JSF 2.0. Или это проблемы с Мохаррой? Я не нашел никаких ссылок на это.
2 ответа:
Я создал проблему JIRA для этого: http://java.net/jira/browse/JAVASERVERFACES-2820
И он был закрыт, так как это ожидаемое поведение.
" составная страница-это то место, где вы фактически используете шаблон. Таким образом, это самый внешний файл, в котором вы указали тип doc. Таким образом, он определяет тип doc, который будет отображаться."
Просто укажите doctype в шаблоне и нигде больше
Я также перенес Jboss 7.1 в JBoss EAP 6.1
Я нашел не очень хороший обходной путь-вставить на каждой странице (не шаблон):
<!DOCTYPE html>
Например:
<!DOCTYPE html 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:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" template="template.xhtml">
Есть ли другой способ-чтобы doctype считывался из главного шаблона?