我正在尝试使用richface 4.似乎标签类没有在JAVA构建路径上设置。我收到所有富组件的错误:“错误:Java构建路径上找不到*(org.richfaces.taglib。*)的标记处理程序类”
对于a4j组件,对于所有组件,我得到相同的错误“”a4j:“(org.ajax4jsf.taglib.html.jsp。)的标签处理程序类未找到Java构建路径“
对于richface4,我执行了以下actoin:
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组件的tag-class,而richFace4.1 jar没有相应的java类(在richFaces 3.3 jars中) 。
我错过了一些罐子吗?我还应该怎么做才能使用richface4?
答案 0 :(得分:1)
您似乎正在尝试将RichFaces 3.3 Web应用程序升级到RichFaces 4.1。除了替换JAR文件之外,您还需要做更多的更改。您可以在自己的文档中找到准确的迁移步骤:RichFaces 3.3.x to 4.x migration guide。
例如,JSP已被弃用并被Facelets取代,您需要将JSP重写为XHTML。 <rich:modalPanel>
已被<rich:popupPanel>
取代,您需要相应地查找并替换所有这些代码。 reRender
属性已被update
属性取代。等等。此外,应从jsf-facelets-1.1.14.jar
中删除Facelets 1.x的/WEB-INF/lib
。 JSF 2.x库已经捆绑了正确的Facelets 2.x实现。