ОШИБКА: класс обработчика тега для «rich: modalPanel» (org.richfaces.taglib.ModalPanelTag) не найден в пути сборки Java - PullRequest
1 голос
/ 16 января 2012

Я пытаюсь использовать richface 4. Кажется, класс тегов не устанавливается в пути сборки JAVA.Я получаю эту ошибку для всех многофункциональных компонентов: «ОШИБКА: класс обработчика тегов для * (org.richfaces.taglib. *) Не найден в пути сборки Java»

Для компонента a4j также для всех компонентовя получаю ту же ошибку "Не найден класс обработчика тега для" a4j: "(org.ajax4jsf.taglib.html.jsp. ) на пути сборки Java"

Для richface4, я выполнил следующий актин:

1) Добавлены следующие фляги:

annotations-4.0.0.Final.jar
cssparser-0.9.5.jar
guava-r08-gwt.jar
guava-r08.jar
jsf-api.jar
jsf-impl.jar
richfaces-components-api-4.1.0.Final.jar
richfaces-components-ui-4.1.0.Final.jar
richfaces-core-api-4.1.0.Final.jar
richfaces-core-impl-4.1.0.Final.jar
sac-1.3.jar
commons-beanutils-1.8.3.jar
commons-collections-3.2.1.jar
commons-digester-2.1-sources.jar
commons-digester-2.1.jar
commons-discovery-0.4.jar
jhighlight-1.0.jar
jsf-facelets-1.1.14.jar

web.xml генерируется по умолчанию и НЕТ нового элемента добавляется.Поскольку не требуется вносить изменения в RF4 (что требуется в RF3.3).

Файл JSP -

<?xml version="1.0" encoding="ISO-8859-1" ?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"  xmlns:ui="http://java.sun.com/jsf/facelets"  xmlns:f="http://java.sun.com/jsf/core"  xmlns:h="http://java.sun.com/jsf/html"  xmlns:a4j="http://richfaces.org/a4j"  xmlns:rich="http://richfaces.org/rich" version="2.0">
    <jsp:directive.page language="java"
        contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" />
    <jsp:text>
        <![CDATA[ <?xml version="1.0" encoding="ISO-8859-1" ?> ]]>
    </jsp:text>
    <jsp:text>
        <![CDATA[ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ]]>
    </jsp:text>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>TESTING</title>
</head>
<body>
<f:view>
<h:form>
<a4j:commandLink
     value="Opss! I forgot password"
     reRender="forgetPasswordPanel"
     oncomplete="#{rich:component('forgetPasswordPanel')}.show()">
</a4j:commandLink>                       
</h:form>
<rich:modalPanel id="forgetPasswordPanel" autosized="true" width="380">
    <f:facet name="header">
        <h:outputText value="Reset Password"/>
     </f:facet>
</rich:modalPanel>
</f:view>
</body>
</html>
</jsp:root>

, я дополнительно исследовал эту проблему и обнаружил, что taglib (файл tld)не содержит тег-класса для многих компонентов rich и a4j, а в jar richFace4.1 для них нет соответствующего java-класса (который находится в jar-файлах richFaces 3.3).

Я скучаю по банкам?Что еще я должен сделать, чтобы работать с richface4?

1 Ответ

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

Похоже, вы пытаетесь обновить веб-приложение RichFaces 3.3 до RichFaces 4.1.Вам нужно сделать гораздо больше изменений, чем просто заменить файлы JAR.Точные шаги миграции вы можете найти в их собственной документации: Руководство по миграции RichFaces 3.3.x в 4.x .

Например, JSP устарел и заменен Facelets, вам нужно переписать ваши JSP, чтобы они были XHTML.<rich:modalPanel> заменен на <rich:popupPanel>, вам необходимо найти и заменить все эти теги соответствующим образом.Атрибут reRender заменен атрибутом update.Etcetera.Кроме того, jsf-facelets-1.1.14.jar из Facelets 1.x следует удалить из /WEB-INF/lib.Библиотеки JSF 2.x уже поставляются в комплекте с правильной реализацией Facelets 2.x.

См. Также:

...