Showing posts with label JSF. Show all posts
Showing posts with label JSF. Show all posts

Wednesday, April 22, 2009

JSF 1.2 on Google App Engine

Seems like this guy has got it working. I'll have to try it when I get time.

Work sucks ;)

Tuesday, April 14, 2009

JSF Issues on the Google App Engine

Run this query to see the outstanding/requested JSF issues with the Google App Engine. Add your vote to the list :)

JSF and RichFaces on Google App Engine

A previous commenter noted that JBoss' RichFaces (Ajax4JSF) didn't work for them. I had a plan to use that so I initiated a simple test.

In fact, all I had to do was included the RichFaces 3.1.6SR1 jars and it blew up straight away with the following error:


org.apache.myfaces.webapp.StartupServletContextListener initFaces: Error initializing ServletContext
javax.faces.FacesException
at javax.faces.FactoryFinder.newFactoryInstance(FactoryFinder.java:194)
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:140)
...
Caused by: java.lang.NoClassDefFoundError: javax.imageio.ImageIO is a restricted class. Please see the Google App Engine developer's guide for more details.
at com.google.apphosting.runtime.security.shared.stub.javax.imageio.ImageIO.<clinit>(ImageIO.java)
at org.ajax4jsf.resource.ResourceBuilderImpl.<clinit>(ResourceBuilderImpl.java:110)


Oh well, scrap that.

If you are interested in using RichFaces on GAE, then register a vote here and get Google to lift some of the restrictions on what classes can be used.

Thursday, April 09, 2009

JSF on Google App Engine with Facelets

Having tried JSF on Google Java App Engine, how about Facelets and JSF?

Works OK with MyFaces 1.1, see here for a test.

Wednesday, April 08, 2009

JSF on Google App Engine

OK, so Java on GAE is straight forward. See the previous post for a quick demo using GWT.

How about JSF? Hmm, not as straight forward if you are trying to use JSF 1.2 and MyFaces. In fact, I can't get it to work. I get as far as this error:

java.lang.NoSuchMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;
at
org.apache.myfaces.webapp.Jsp21FacesInitializer.initContainerIntegration(Jsp21FacesInitializer.java:60)

Which would suggest that there is something wrong with the version of JSP that is being used? GAE uses Jetty under the covers, but I'm not sure which version. I would have thought it was a version that supports JSP 2.1, but who knows. The SDK comes with Geronimo JSP 2.1 and Servlet 2.5 jars, so you would think it would work.

Anyhoo, JSF works with MyFaces 1.1 and you can see a quick demo here. It doesn't do much at the moment, but I'll play around with it and see if I can do something a little better.

I have a Java/Swing application that uploads old Polar HRM data to the new Polar web site. This is an ideal application to convert to JSF/Facelets/RichFaces and host on GAE. Watch this space (well, come back in a few months ;) )

Wednesday, October 01, 2008

JPA Annotations with JSF, Spring, TopLink & Tomcat

If you want to use JPA annotations with JSF, Toplink and Spring running under Tomcat, then you MUST include the Toplink essentials jar in the Tomcat lib directory, along with any jdbc driver classes. Your persistence.xml file can reside anywhere on the classpath.

You don't get a warning if you don't, other than the "abstract schema does not exist" message.