<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> //line-1
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c1" %> //line-2
Is there any difference between line-1 and line-2. line-2 in jsp file is not giving any error but line-1 in another jsp giving error
Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core"
I've seen the solution of the problem here but could not get understand what is "Facelets"
It is true that Facelets 1.x and 2.x uses different namespaces for the JSTL tag library. It was less or more a namespace bug in Facelets 1.x and has been fixed for Facelets 2.x.
- 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.
You can find all Facelets 2.x tags in the Facelets tag library documentation. Facelets don't ship with the full tag set as the real JSTL taglib. Only a few of the
<c:xxx>
and the full set of<fn:xxx>
are copied into Facelets. The<fmt:xxx>
,<sql:xxx>
and<xml:xxx>
tags are not taken over in Facelets.