JSF error on Glassfish: PWC6228: #{…} not allowed in a template text body

If you forget to include the JSF taglibs in a JSP that’s part of a JSF app, you’ll get this rather obscure error on Glashfish 3.1.1:

WARNING: StandardWrapperValve[faces]: PWC1406: Servlet.service() for
servlet faces threw exception org.apache.jasper.JasperException:
/configure.jsp(13,34) PWC6228: #{...} not allowed in a template
text body.


Add the taglibs to fix:

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

I’ve subsequently realized in following some JSF tutorials that apparently there’s substantial difference between JSF 1.2 and 2.0, and that the errors I was running into were because I wrongly assumed JSF2.0 used JSP pages (it used XHTML Facelets instead), and so most of the issues I was running into were as a result of trying to do things the wrong way for 2.0.

No iPhone 5, it’s just an iPhone 4.1

Well looks like my guess yesterday was right on the money – Apple held their eagerly awaited press conference today and did they announce the new iPhone 5? No, it’s an iPhone 4GS, or something with some similar combination of letters, like 4.1 or something like that. Given the lack of anything revolutionary that people were hoping for, it’s barely anything that deserves a 4.1 nametag anyway.

The odd thing is there were several case manufacturers who tried to get an early jumpstart and get their new cases for an iPhone 5 out ahead of the crowd, despite the fact that there was no iPhone 5 announced. Some were even based on dimensions larger and thinner than the announced iPhone 4S, which makes you wonder if something else was planned but it’s been delayed for some reason, or maybe will be coming next year? By then they’ll be quad core phones already out there, so Apple better have something special cooking for the iPhone 5 when it does arrive.