wood burning stoves
The moose likes JSF and the fly likes #{..} is not allowed in template text Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » JSF
Bookmark "#{..} is not allowed in template text" Watch "#{..} is not allowed in template text" New topic

#{..} is not allowed in template text

Robert Drescher

Joined: Jul 03, 2009
Posts: 5

I was trying to build a basic JSF application in eclipse to be able to extend a simple framework whenever I would need it.
However, the JSPs I copied from my last webapp (they worked there) throw an exception when I load them.

I read several posts and this seems to be a problem with versions of JSTL libraries and JSF implementations (?)

I built a 2.5 dynamic web application with eclipse build 20090920-1017,
added Facets for JSF 1.2 (eclipse downloaded the Sun RI implementation) and
added the JSTL.jar and Standard.jar from the Jakarta Project, version 1.1.2

JSF and JSTL libraries are being exported and selected in the Java EE Module dependencies.

The only page I created so far is the following:


The project was then built and deployed to Apache Tomcat 6.0.20 with the following configs:


When I start the server and open http://localhost:8080/BaseWeb/faces/users.jsp I receive the exception output.

Can anyone please tell me what the problem is with my mess?

Thank you for your help
Tim Holloway
Saloon Keeper

Joined: Jun 25, 2001
Posts: 17410

If your URL is "users.jsp" and the view template file is also named "users.jsp", it sounds like you're not routing JSF properly. Normally the URL would either be something like "/faces/users.jsp" or "/users.jsf".

There's nothing obviously wrong with the view definition itself.

An IDE is no substitute for an Intelligent Developer.
Prateek Kumar Singh

Joined: Jan 21, 2011
Posts: 29

Hi Robert,

You're mixing up JSP with Facelets. You can and should not to that. Those are two distinct view technologies. Use the one or other. JSP is for the <%@taglib %> stuff and Facelets is XHTML oriented with <html xmlns> and <ui:xxx> stuff. For JSF 2.0 you're supposed to use Facelets. Rename all files from *.jsp to *.xhtml and replace and get rid of any <% %> and <jsp:xxx> stuff.

just remove the Xmlns from jsp page

<ui:composition xmlns="http://www.w3.org/1999/xhtml"

and now add tag lib for jsp page..

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

It will definitely solve your problem.

Prateek Singh
I agree. Here's the link: http://aspose.com/file-tools
subject: #{..} is not allowed in template text
It's not a secret anymore!