Eclipse - Can't find facelet tag library for uri http://java.sun.com/jsf/html
Asked Answered
R

5

9

In my index.xhtml , I have a namespace defined like this xmlns:h="http://java.sun.com/jsf/html". The server at this url indicates that the page cannot be found.

Do you know where the page has moved ?

Eclipse Info

Version: Indigo Release
Build id: 20110615-0604
Rachelrachele answered 6/7, 2011 at 9:49 Comment(0)
R
16

For solving this problem this is what I did :

     1. Close the eclipse project
     2. Open the eclipse project
     3. Right click on the project
     4. Click on Validate

   => The (false) warnings are gone.
Rachelrachele answered 6/7, 2011 at 13:10 Comment(3)
This works for me only in situation when JSF implementation is on the project's classpath (API is not enough). Otherwise, error still exists. For details take a look at this post.Oddball
This worked for me. So, why is this happening? Something wrong with the validator?Gnomic
@DurgaSwaroop I don't know. However, you can file an issue to Eclipse team.Rachelrachele
B
5

The XML taglib namespace URI does not point to a real web resource or something. It just points to the same value as the <namespace> entry of the .taglib.xml file of the XML taglib in question in the runtime classpath, which in case of JSF taglibs (and lot others) just happens to be a HTTP URL. In case of Mojarra, you can find the declaration in the /com/sun/faces/metadata/taglib/html_basic.taglib.xml file of the jsf-impl.jar file.

If you're encountering problems with referencing JSF HTML tags, then the cause lies somewhere else.

Brassware answered 6/7, 2011 at 9:59 Comment(2)
Actually I'm facing this problem : Description Resource NLS missing message: CANNOT_FIND_FACELET_TAGLIB in: org.eclipse.jst.jsf.core.validation.internal.facelet.messages index.xhtml (...) Facelet ValidatorRachelrachele
That's a Glassfish/Eclipse specific issue. Try cleaning the project (Project > Clean). It's after all just an Eclipse project build warning. The code should run without trouble. Real JSF runtime errors are more of interest.Brassware
F
3

Previous answers were useful to me. Here I provide an alternative way for solving this issue. I fixed this problem by adding the jar primefaces-[version].jar to the WEB-INF/lib directory.

Frazier answered 30/12, 2013 at 7:15 Comment(2)
Which jar did you add ?Rachelrachele
primefaces-[version].jarFrazier
S
1
<%@taglib   uri="http://java.sun.com/jsf/html" prefix="h"%>

jsf-api.jar and jsf-impl.jar jar in your lib.

Squally answered 28/7, 2011 at 10:45 Comment(1)
-1: OP is using Facelets, not legacy JSP. Also, the problem has already been solved.Brassware
G
0

Compare the Uri respective to the jsf version you are using.

. The real JSTL 1.0 taglib uses the URI *http://java.sun.com/jstl/core.*
. The real JSTL 1.1/1.2 taglib uses the URI *http://java.sun.com/jsp/jstl/core*.
. Facelets 1.x uses the URI *http://java.sun.com/jstl/core.*
. Facelets 2.x uses the URI *http://java.sun.com/jsp/jstl/core.*
. Facelets 2.2+ uses the URI *http://xmlns.jcp.org/jsp/jstl/core.*
Garaway answered 29/1, 2023 at 9:59 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.