2013-06-01 4 views
0

Я сделал базовый динамический веб-проект только с одной страницей index.xhtml (eclipse juno 4.2 + JBoss AS 7.1). Когда я запускаю свою веб-страницу, браузер отображает только элементы html, а не jsf. Мой индекс index.xhtml:Не отображает элементы jsf

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
xmlns:h="http://java.sun.com/jsf/html"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title></title> 
</head> 
<body> 
push the button: 
<button>ok</button> 
<h:button value="not ok"></h:button> 
</body> 
</html> 

Я могу видеть только кнопку «ok». Когда я начинаю свой сервер (автономный) Я предупреждает:

WARN [org.jboss.as.server.deployment] (MSC service thread 1-3) JBAS015893: Encountered invalid class name 'com.sun.faces.vendor.Tomcat6InjectionProvider:org.apache.catalina.util.DefaultAnnotationProcessor' for service type 'com.sun.faces.spi.injectionprovider' 
WARN [org.jboss.as.server.deployment] (MSC service thread 1-3) JBAS015893: Encountered invalid class name 'com.sun.faces.vendor.Jetty6InjectionProvider:org.mortbay.jetty.plus.annotation.InjectionCollection' for service type 'com.sun.faces.spi.injectionprovider' 
WARNING [javax.enterprise.resource.webcontainer.jsf.config] (MSC service thread 1-3) JSF1069: Disabling the JSF 2.0 Facelets ViewHandler as an older FaceletViewHandler, com.sun.facelets.FaceletViewHandler, has been explicitly configured. If this is not desired behavior, remove the older FaceletViewHandler and library from your application. 

Если бы никому такая же проблема? Я ошибаюсь, или идеал или сервер имеют некоторые ошибки? Спасибо за помощь.

У меня есть еще одна проблема. Я хочу добавить библиотеки primafaces. Я нажимаю правой кнопкой мыши на проекте, затем «Свойства» -> «Развертывание сборки» -> «Добавить» и «.jar» отображается в окне управления, но библиотека не отображается в иерархии файлов (WEB-INF/lib).

ответ

3

Ваш путь прохождения через Webapp - беспорядок. Последнее предупреждение в журнале уже весь ответ:

JSF1069: Отключение JSF 2.0 Facelets в качестве обработки просмотров старой FaceletViewHandler, com.sun.facelets.FaceletViewHandler, был явно настроен. Если это нежелательное поведение, удалите из приложения старый FaceletViewHandler и библиотеку.

Вы имеете по какой-то причине в jsf-facelets.jar файл из Facelets 1.x (как это определенно com.sun.facelets пакета) в выполнении вашего WebAPP пути к классам, в то время вы используете JSF 2.0, который сам по себе уже имеет Facelets 2.x упакованный (как определено пакетом com.sun.faces.facelets).

Избавьтесь от jsf-facelets.jar и любых других артефактов, связанных с JSF 1.x, в пути к классу среды выполнения webapp (среди прочих, охватываемых папкой /WEB-INF/lib). Прекратите читать JSF 1.x целевые книги/учебники/ресурсы и отправляйтесь в JSF 2.x. На JSF 2.x многие вещи выполняются по-разному, поэтому полагаться на ресурсы JSF 1.x будет только в замешательстве и проблемах.

На JBoss 7, который уже поставляется вместе с JSF 2.x, вам не нужны JAR в /WEB-INF/lib. Вам также не нужно ничего помещать в faces-config.xml. Если вы используете JSF 2.1 и полагаетесь на сопоставление URL по умолчанию *.jsf, вам также не нужно ничего помещать в web.xml. Таким образом, оба файла могут быть эффективно пустыми.

Смежные вопросы