Jsf 错误:";的标记处理程序类;rich:modalPanel“;在Java构建路径上找不到(org.richfaces.taglib.ModalPanelTag)
我在试richface 4。似乎类标记并没有设置在JAVA构建路径上。我在所有富组件中都遇到了这个错误:“错误:在Java构建路径上找不到*(org.richfaces.taglib.*)的标记处理程序类” 对于a4j组件,对于所有组件,我得到的错误都是“a4j:(org.ajax4jsf.taglib.html.jsp.)的标记处理程序类在Java构建路径上找不到” 对于richface4,我在中执行了以下操作: 1) 添加了以下罐子:Jsf 错误:";的标记处理程序类;rich:modalPanel“;在Java构建路径上找不到(org.richfaces.taglib.ModalPanelTag),jsf,jsf-2,richfaces,ajax4jsf,Jsf,Jsf 2,Richfaces,Ajax4jsf,我在试richface 4。似乎类标记并没有设置在JAVA构建路径上。我在所有富组件中都遇到了这个错误:“错误:在Java构建路径上找不到*(org.richfaces.taglib.*)的标记处理程序类” 对于a4j组件,对于所有组件,我得到的错误都是“a4j:(org.ajax4jsf.taglib.html.jsp.)的标记处理程序类在Java构建路径上找不到” 对于richface4,我在中执行了以下操作: 1) 添加了以下罐子: annotations-4.0.0.Final.jar
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组件的标记类,richFace4.1 jar也没有相应的java类(在richFaces 3.3 jar中)
我丢了一些罐子吗?要使用RichFaces4,我还应该做些什么?您似乎正在尝试将RichFaces 3.3 web应用程序升级到RichFaces 4.1。您需要做更多的更改,而不仅仅是替换JAR文件。您可以在他们自己的文档中找到确切的迁移步骤: 例如,JSP被弃用并被Facelets取代,您需要将JSP重写为XHTML。
已被
替换,您需要相应地查找并替换所有这些标记。reRender
属性已替换为update
属性。等等。另外,facelets 1.x的jsf-facelets-1.1.14.jar
应该从/WEB-INF/lib
中删除。JSF2.x库已经附带了正确的Facelets2.x实现
另见:
已被
替换,您需要相应地查找并替换所有这些标记。reRender
属性已替换为update
属性。等等。另外,facelets 1.x的jsf-facelets-1.1.14.jar
应该从/WEB-INF/lib
中删除。JSF2.x库已经附带了正确的Facelets2.x实现
另见: