Problema ao importar taglibs do richfaces

11 respostas
K

PessoALL

Tô tentando importar as tagLibs do richFaces numa jsp do meu projeto no eclipse, mas ele num tá reconhecendo de jeito nenhum… Não funfa!

<%@ taglib uri=“http://richfaces.org/a4j” prefix=“a4j” %>
<%@ taglib uri=“http://richfaces.org/rich” prefix=“rich” %>

já tentei várias versões do rich, mas ele não encontra… Já olhei no BuilPath no eclipse, apontei o caminho certinho e continua dando pau!

as taglibs do jsf ele encontra tranquilamente

<%@ taglib uri=“http://java.sun.com/jsf/core” prefix=“f” %>
<%@ taglib uri=“http://java.sun.com/jsf/html” prefix=“h” %>

O que pode ser isso? Caso possam me ajudar?

11 Respostas

L

Você está tentando usar o Richfaces 4.x Alpha? Segundo o pessoal do Richfaces a versão 4 não é compatível com JSP. Tive o mesmo problema e resolvi usando a versão 3.3.3

Segue aqui o link da resposta dos caras:

https://community.jboss.org/thread/147988

A

ahamm, não entendo porque utilizam JSP com JSF2 ainda.

JSP Deprecation
JSF 2 specification deprecates JSP as a view definition language. And all the new components and most of the features do not works for JSP VDL in JSF 2 itself.
So RichFaces 4 decided to drop that support starting from the first 4.0.0.Final version. So you have to use JSF 2 Facelets VDL.

K

Tópico de 2010 Amigos… =D

A

hehehhe, verdade, não me liguei. mas fica ai a dica :wink:

K

Bacana… Nos trabalhos de hoje utilizo páginas xhtml com esse cabeçalho aqui:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	  xmlns:ui="http://java.sun.com/jsf/facelets" 
	  xmlns:h="http://java.sun.com/jsf/html"
	  xmlns:f="http://java.sun.com/jsf/core"
	  xmlns:s="http://jboss.com/products/seam/taglib" 
	  xmlns:a4j="http://richfaces.org/a4j"
	  xmlns:rich="http://richfaces.org/rich"
	  xmlns:c="http://java.sun.com/jsp/jstl/core">
I

Fala pessoal blz?

Sei que o post eh antigo mas tenho um problema e ele se encaixa aqui

Estou utilizando Maven, JSF2 e Richfaces 4.2.2

Meu pom.xml esta dessa maneira para os jars do JSF e RichFaces

net.sourceforge.cssparser cssparser 0.9.5
<dependency>
		<groupId>com.google.guava</groupId>
		<artifactId>guava</artifactId>
		<version>12.0-rc1</version>
	</dependency>

	<dependency>
		<groupId>com.sun.faces</groupId>
		<artifactId>jsf-api</artifactId>
		<version>2.1.10</version>
	</dependency>

	<dependency>
		<groupId>com.sun.faces</groupId>
		<artifactId>jsf-impl</artifactId>
		<version>2.1.10</version>
	</dependency>

	<dependency>
		<groupId>javax.validation</groupId>
		<artifactId>validation-api</artifactId>
		<version>1.0.0.GA</version>
	</dependency>

	<dependency>
		<groupId>org.richfaces.ui</groupId>
		<artifactId>richfaces-components-ui</artifactId>
		<version>4.2.2.Final</version>
	</dependency>

	<dependency>
		<groupId>org.richfaces.core</groupId>
		<artifactId>richfaces-core-api</artifactId>
		<version>4.2.2.Final</version>
	</dependency>

Meu Web.xml

<?xml version="1.0" encoding="UTF-8"?>


webapprf4
webapprf4

templete/principal.jsf


javax.faces.STATE_SAVING_METHOD
server


javax.faces.DEFAULT_SUFFIX
.xhtml


javax.faces.PROJECT_STAGE
Development


javax.faces.FACELETS_REFRESH_PERIOD
1


javax.faces.FACELETS_SKIP_COMMENTS
true


javax.faces.SEPARATOR_CHAR
-


org.richfaces.skin
DEFAULT


facelets.BUILD_BEFORE_RESTORE
true


facelets.RECREATE_VALUE_EXPRESSION_ON_BUILD_BEFORE_RESTORE
true


FacesServlet
javax.faces.webapp.FacesServlet
0



FacesServlet
.faces


FacesServlet
.jsf


FacesServlet
*.xhtml


60


javax.faces.application.ViewExpiredException
/expired.xhtml


BASIC

minha XHTML

<?xml version="1.0" encoding="ISO-8859-1" ?>
<style>
.pic {
    margin-bottom: -4px;
    margin-right: 2px;
}
.search .rich-menu-item-hover{
    background-color: transparent;
    border-color: transparent;
}
</style>

<h:form>
    <rich:toolBar>

        <rich:dropDownMenu>
            <f:facet name="label"> 
                <h:panelGroup>
                    <h:graphicImage value="/images/icons/copy.gif" styleClass="pic"/>
                    <h:outputText value="File"/>
                </h:panelGroup>
            </f:facet>
            <rich:menuItem submitMode="ajax" value="New"
                action="#{ddmenu.doNew}" icon="/images/icons/create_doc.gif">
            </rich:menuItem>
            <rich:menuItem submitMode="ajax" value="Open"
                action="#{ddmenu.doOpen}" icon="/images/icons/open.gif" />
            <rich:menuGroup value="Save As...">
                <rich:menuItem submitMode="ajax" value="Save" 
                    action="#{ddmenu.doSave}" icon="/images/icons/save.gif" />
                <rich:menuItem submitMode="ajax" value="Save All"
                    action="#{ddmenu.doSaveAll}">
                    <f:facet name="icon">
                        <h:graphicImage value="/images/icons/save_all.gif" />
                    </f:facet>
                </rich:menuItem>
            </rich:menuGroup>
            <rich:menuItem submitMode="ajax" value="Close"
                action="#{ddmenu.doClose}" />
            <rich:menuSeparator id="menuSeparator11" />
            <rich:menuItem submitMode="ajax" value="Exit"
                action="#{ddmenu.doExit}" />

        </rich:dropDownMenu>

        <rich:dropDownMenu>

            <f:facet name="label">
                <h:panelGrid cellpadding="0" cellspacing="0" columns="2"
                    style="vertical-align:middle">
                    <h:outputText value="Links" />
                </h:panelGrid>
            </f:facet>

            <rich:menuItem submitMode="none"
                onclick="document.location.href='http://labs.jboss.com/jbossrichfaces/'">
                <h:outputLink value="http://labs.jboss.com/jbossrichfaces/">
                    <h:outputText value="RichFaces Home Page"></h:outputText>
                </h:outputLink>
            </rich:menuItem>

            <rich:menuItem submitMode="none"
                onclick="document.location.href='http://jboss.com/index.html?module=bb&amp;op=viewforum&amp;f=261'">
                <h:outputLink
                    value="http://jboss.com/index.html?module=bb&amp;op=viewforum&amp;f=261">
                    <h:outputText value="RichFaces Forum"></h:outputText>
                </h:outputLink>
            </rich:menuItem>

        </rich:dropDownMenu>
        <rich:toolBarGroup location="right">
            <rich:dropDownMenu value="Search" direction="bottom-left" jointPoint="br" styleClass="search">
                <rich:menuItem submitMode="none">
                    <h:inputText value="" id="searchinput"/>
                    <button type="button">Search</button>
                </rich:menuItem>
                <rich:menuItem value="Enter your search criteria here" disabled="true"></rich:menuItem>
            </rich:dropDownMenu>
        </rich:toolBarGroup>
    </rich:toolBar>
</h:form>
<rich:spacer width="1" height="5"/>
<br />
<a4j:outputPanel ajaxRendered="true">
    <h:outputText value="Current Selection: "></h:outputText>
    <h:outputText style="font-weight:bold" value="#{ddmenu.current}"></h:outputText>
</a4j:outputPanel>
<br />
<rich:spacer width="1" height="25" />

</ui:composition>

e o log de erro

javax.servlet.ServletException: /templete/menu.xhtml @19,23 rich:toolBar Tag Library supports namespace: http://richfaces.org/rich, but no tag was defined for name: toolBar
javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
root cause

javax.faces.view.facelets.TagException: /templete/menu.xhtml @19,23 <a>rich:toolBar</a> Tag Library supports namespace: <a href="http://richfaces.org/rich">http://richfaces.org/rich</a>, but no tag was defined for name: toolBar

com.sun.faces.facelets.compiler.CompilationManager.pushTag(CompilationManager.java:304)

com.sun.faces.facelets.compiler.SAXCompiler$CompilationHandler.startElement(SAXCompiler.java:252)

com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)

com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.java:767)

com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:400)

com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2756)

com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)

com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)

com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)

com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)

com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)

com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)

com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)

com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)

javax.xml.parsers.SAXParser.parse(SAXParser.java:395)

javax.xml.parsers.SAXParser.parse(SAXParser.java:198)

com.sun.faces.facelets.compiler.SAXCompiler.doCompile(SAXCompiler.java:420)

com.sun.faces.facelets.compiler.SAXCompiler.doCompile(SAXCompiler.java:396)

com.sun.faces.facelets.compiler.Compiler.compile(Compiler.java:124)

com.sun.faces.facelets.impl.DefaultFaceletFactory.createFacelet(DefaultFaceletFactory.java:305)

com.sun.faces.facelets.impl.DefaultFaceletFactory.access$100(DefaultFaceletFactory.java:93)

com.sun.faces.facelets.impl.DefaultFaceletFactory$1.newInstance(DefaultFaceletFactory.java:160)

com.sun.faces.facelets.impl.DefaultFaceletFactory$1.newInstance(DefaultFaceletFactory.java:158)

com.sun.faces.facelets.impl.DefaultFaceletCache$1.newInstance(DefaultFaceletCache.java:83)

com.sun.faces.facelets.impl.DefaultFaceletCache$1.newInstance(DefaultFaceletCache.java:78)

com.sun.faces.util.ExpiringConcurrentCache$1.call(ExpiringConcurrentCache.java:99)

java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

java.util.concurrent.FutureTask.run(FutureTask.java:138)

com.sun.faces.util.ExpiringConcurrentCache.get(ExpiringConcurrentCache.java:114)

com.sun.faces.facelets.impl.DefaultFaceletCache.getFacelet(DefaultFaceletCache.java:121)

com.sun.faces.facelets.impl.DefaultFaceletCache.getFacelet(DefaultFaceletCache.java:62)

com.sun.faces.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFaceletFactory.java:256)

com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:366)

com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:346)

com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199)

com.sun.faces.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:147)

javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)

com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)

javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)

com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:86)

com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:308)

com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:367)

com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:346)

com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199)

com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:155)

com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)

com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:86)

com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:152)

com.sun.faces.application.view.FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:839)

com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:100)

com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)

com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)

javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
K

A extensão de suas páginas são .XHTML mesmo? Já se certificou que as Libs do RichFaces estão no classpath do seu projeto…??

I

Então a extensão é sim .XHTML, estou utilizando maven e mesmo assim preciso add os no meu classpath?

K

Agora que lí direitinho o teu stackTrace rsrsrs… seu problema não está na importação das tagLibs…

Seguinte, a tag que ele está reclamando está escrita da forma chamada “camel case”, observe que a letra “B” está maiuscula e ele não reconhece isso na verão 4: rich:toolBar

troque por rich:toolbar e diz ai se funfou ou não…

A resposta está aqui neste link da Jboss community: https://community.jboss.org/message/595459?_sscc=t

;D

I

Então o erro mudou

javax.servlet.ServletException: /templete/menu.xhtml @81,49 rich:toolbargroup Tag Library supports namespace: http://richfaces.org/rich, but no tag was defined for name: toolbargroup
javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)

Porém tbm eh o seguinte quando dou o Ctrl+Space o eclipse nao reconhece nd.

Desde já obrigado pela atenção.

K

No caso dessa tag ai, a mesma deve ser escrita em camel case: rich:toolbarGroup como no exemplo mostrado no link que passei do rich live demo… Quanto ao auto complete,a resposta está na última mensagem deste post aqui, mas leia todo o tópico primeiro para entender ok: http://www.guj.com.br/java/116259-richfaces---xhtml--ctrl-space

Criado 9 de junho de 2010
Ultima resposta 31 de out. de 2012
Respostas 11
Participantes 4