Атрибут макета недействителен в соответствии с указанным TLD - PullRequest
0 голосов
/ 04 января 2012

Мне нужна <div> в моей сети, но я использую JSF.Затем мне нужны тег <h:panelGroup> и атрибут layout="block".

Мой код:

<h:panelGroup styleClass="content" layout="block">

Но сервер Tomcat, который я использовал, возвращает ошибку и говорит:

Атрибут макета недействителен в соответствии с указанным TLD.

Мне нужна помощь, потому что я не понимаю эту ошибку.

1 Ответ

1 голос
/ 04 января 2012

Атрибут layout для <h:panelGroup> был введен в JSF 1.2. Эта ошибка говорит о том, что вы используете древнюю JSF 1.1 или, возможно, даже мертвую JSF 1.0.

У вас есть в основном 2 варианта:

  1. Обновление до JSF 1.2 или предпочтительно до JSF 2.x, которое уже более 2 лет, и почти до версии 2.2. Вы можете загрузить реализации JSF здесь . Обратите внимание, что для JSF 1.2 в JSP требуется как минимум Servlet 2.5-совместимый контейнер. Таким образом, вы должны иметь как минимум Tomcat версии 6.0 или, предпочтительно, Tomcat 7.0, который также существует уже более 2 лет. Убедитесь, что объявленный вами web.xml соответствует самой высокой версии сервлета, поддерживаемой контейнером.

  2. Если вы не можете перейти на JSF 1.2 или новее, поскольку по какой-то непонятной причине вы застряли на Tomcat 5.5 или старше, вам следует забыть использовать <h:panelGroup layout> и вместо него использовать обычный элемент <div> , Вам нужно только обернуть его в <f:verbatim>, потому что JSF 1.1 и старше не могут нормально обрабатывать обычный HTML.

    <f:verbatim><div></f:verbatim>
        ...
    <f:verbatim></div></f:verbatim>
    

Смотри также:

...