2011-01-27 4 views
2

Я хочу реализовать fileUpload как в BalusC's example.Расширения Фильтр КлассNotFoundException

К сожалению, я уже пытаюсь объявить сервлет.

<filter> 
    <filter-name>Extensions Filter</filter-name> 
    <filter-class>javax.faces.webapp.filter.ExtensionsFilter</filter-class> 
</filter> 
<filter-mapping> 
    <filter-name>Extensions Filter</filter-name> 
    <servlet-name>Faces Servlet</servlet-name> 
</filter-mapping> 

Я не уверен, если есть фильтр расширений в javax.faces.webapp.filter.ExtensionsFilter, но я не использую MyFaces и поэтому я думал, что mojarra должны иметь те же параметры фильтра.

Так ли это ошибка? Если да: есть ли фильтр в реализации mojarra?

Я получаю ClassNotFoundException!


Хорошо перепутали дорожки класса. Он работает сейчас, но я получаю следующие предупреждения. (Sry для этого немецкого в журналах с ошибками)

WARNUNG: JSF1029: Die Anwendung hat Version 2.0 (entweder ausdrücklich durch die Version von /WEB-INF/faces-config.xml oder eine fehlende /WEB-INF/faces-confg.xml), jedoch hängt Klasse 'org.apache.myfaces.custom.aliasbean.AliasBeanTagHandler' von einer Legacy-Facelet-Klasse ab. Das von dieser Klasse registrierte Facelet-Artefakt wird nicht registriert. 
27.01.2011 14:40:41 com.sun.faces.config.processor.FaceletTaglibConfigProcessor processComponent 
WARNUNG: JSF1029: Die Anwendung hat Version 2.0 (entweder ausdrücklich durch die Version von /WEB-INF/faces-config.xml oder eine fehlende /WEB-INF/faces-confg.xml), jedoch hängt Klasse 'org.apache.myfaces.custom.aliasbean.AliasBeansScopeTagHandler' von einer Legacy-Facelet-Klasse ab. Das von dieser Klasse registrierte Facelet-Artefakt wird nicht registriert. 
27.01.2011 14:40:41 com.sun.faces.config.processor.FaceletTaglibConfigProcessor processComponent 
WARNUNG: JSF1029: Die Anwendung hat Version 2.0 (entweder ausdrücklich durch die Version von /WEB-INF/faces-config.xml oder eine fehlende /WEB-INF/faces-confg.xml), jedoch hängt Klasse 'org.apache.myfaces.custom.calendar.HtmlInputCalendarTagHandler' von einer Legacy-Facelet-Klasse ab. Das von dieser Klasse registrierte Facelet-Artefakt wird nicht registriert. 
27.01.2011 14:40:41 com.sun.faces.config.processor.FaceletTaglibConfigProcessor processComponent 
WARNUNG: JSF1029: Die Anwendung hat Version 2.0 (entweder ausdrücklich durch die Version von /WEB-INF/faces-config.xml oder eine fehlende /WEB-INF/faces-confg.xml), jedoch hängt Klasse 'org.apache.myfaces.custom.date.HtmlInputDateTagHandler' von einer Legacy-Facelet-Klasse ab. Das von dieser Klasse registrierte Facelet-Artefakt wird nicht registriert. 
27.01.2011 14:40:41 com.sun.faces.config.processor.FaceletTaglibConfigProcessor processComponent 
WARNUNG: JSF1029: Die Anwendung hat Version 2.0 (entweder ausdrücklich durch die Version von /WEB-INF/faces-config.xml oder eine fehlende /WEB-INF/faces-confg.xml), jedoch hängt Klasse 'org.apache.myfaces.custom.schedule.ScheduleTagHandler' von einer Legacy-Facelet-Klasse ab. Das von dieser Klasse registrierte Facelet-Artefakt wird nicht registriert. 
27.01.2011 14:40:41 com.sun.faces.config.processor.FaceletTaglibConfigProcessor processComponent 
WARNUNG: JSF1029: Die Anwendung hat Version 2.0 (entweder ausdrücklich durch die Version von /WEB-INF/faces-config.xml oder eine fehlende /WEB-INF/faces-confg.xml), jedoch hängt Klasse 'org.apache.myfaces.custom.tabbedpane.HtmlPanelTabbedPaneTagHandler' von einer Legacy-Facelet-Klasse ab. Das von dieser Klasse registrierte Facelet-Artefakt wird nicht registriert. 
27.01.2011 14:40:41 com.sun.faces.config.processor.FaceletTaglibConfigProcessor processComponent 
WARNUNG: JSF1029: Die Anwendung hat Version 2.0 (entweder ausdrücklich durch die Version von /WEB-INF/faces-config.xml oder eine fehlende /WEB-INF/faces-confg.xml), jedoch hängt Klasse 'org.apache.myfaces.custom.tree.taglib.TreeTagHandler' von einer Legacy-Facelet-Klasse ab. Das von dieser Klasse registrierte Facelet-Artefakt wird nicht registriert. 
27.01.2011 14:40:41 com.sun.faces.config.processor.FaceletTaglibConfigProcessor processHandlerClass 
WARNUNG: JSF1029: Die Anwendung hat Version 2.0 (entweder ausdrücklich durch die Version von /WEB-INF/faces-config.xml oder eine fehlende /WEB-INF/faces-confg.xml), jedoch hängt Klasse '[handler-class: null]' von einer Legacy-Facelet-Klasse ab. Das von dieser Klasse registrierte Facelet-Artefakt wird nicht registriert. 
27.01.2011 14:40:41 com.sun.faces.config.processor.FaceletTaglibConfigProcessor processHandlerClass 
WARNUNG: JSF1029: Die Anwendung hat Version 2.0 (entweder ausdrücklich durch die Version von /WEB-INF/faces-config.xml oder eine fehlende /WEB-INF/faces-confg.xml), jedoch hängt Klasse '[handler-class: null]' von einer Legacy-Facelet-Klasse ab. Das von dieser Klasse registrierte Facelet-Artefakt wird nicht registriert. 
27.01.2011 14:40:41 com.sun.faces.config.processor.FaceletTaglibConfigProcessor processHandlerClass 
WARNUNG: JSF1029: Die Anwendung hat Version 2.0 (entweder ausdrücklich durch die Version von /WEB-INF/faces-config.xml oder eine fehlende /WEB-INF/faces-confg.xml), jedoch hängt Klasse '[handler-class: null]' von einer Legacy-Facelet-Klasse ab. Das von dieser Klasse registrierte Facelet-Artefakt wird nicht registriert. 
27.01.2011 14:40:41 com.sun.faces.config.processor.FaceletTaglibConfigProcessor processHandlerClass 
WARNUNG: JSF1029: Die Anwendung hat Version 2.0 (entweder ausdrücklich durch die Version von /WEB-INF/faces-config.xml oder eine fehlende /WEB-INF/faces-confg.xml), jedoch hängt Klasse '[handler-class: null]' von einer Legacy-Facelet-Klasse ab. Das von dieser Klasse registrierte Facelet-Artefakt wird nicht registriert. 

Любая идея, что это может быть?


Общий перевод:

В настоящее время приложение использует версию 2.0 (либо явно /WEB-INF/faces-config.xml или недостающий /WEB-INF/faces-confg.xml), но класс `XXX» использует устаревшую Facelet TagLib. Поэтому этот класс не зарегистрирован.

ответ

1

Фильтр расширений не входит в стандартную реализацию JSF. Это часть Томагавка. Почему вы изменили имя класса фильтра, чтобы он выглядел как часть стандартной реализации JSF?

Просто используйте то же, что и в статье.

<filter> 
    <filter-name>Extensions Filter</filter-name> 
    <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class> 
</filter> 
<filter-mapping> 
    <filter-name>Extensions Filter</filter-name> 
    <servlet-name>Faces Servlet</servlet-name> 
</filter-mapping> 

В статье также явно упоминается, что в Мохаре прекрасно работает. Не меняйте вещи по требованию, потому что вы думаете, что это неправильно.

+0

О, черт возьми, я полностью перепутал это: -/Думал, что путь к классам будет ссылаться на реализацию myFaces jsf -.- – Sven

+0

Нет, Tomahawk также использует пакет 'org.apache.myfaces' (который, по общему признанию, запутан, они бы лучше использовать 'org.apache.myfaces.tomahawk' или около того). – BalusC

+0

По какой-то причине я получаю много предупреждений (PLS посмотреть мое обновление вопроса) – Sven

2

Вы добавили все эти банки, как он упомянул?

tomahawk-1.1.6.jar 
commons-fileupload-1.2.jar 
commons-io-1.4.jar 
commons-logging-1.1.1.jar 
commons-el.jar 
Смежные вопросы