
January 3rd, 2009 by

Lincoln Baxter III
It didn’t make it…
Well folks, for those of you who were hoping JSF 2.0 would contain the URL rewriting tools that many had asked for, unfortunately it looks like it’s not going to make it into the official spec. Bookmarking a page, or pages in JSF has been a heavily requested feature, but according to
this discussion, is currently out of scope.
But that’s ok…
The
PrettyFaces JSF Bookmark extension has been updated for JSF 2.0, and is ready for public preview (download below).

January 3rd, 2009 by

Lincoln Baxter III
The Problem:
So you need a way to instantiate the 2.0 FacesContext in a Filter, but when you use the same method that you have in the past, you get NullPointerExceptions all over the place when attempting to access any values through El. The ScopedAttributeElResolver bombs when attempting to set values or access methods in backing beans.) It’s not too hard to get this working again. In fact, this is how our own URL-rewrite filter for JSF handles things behind the scenes.

December 31st, 2008 by

Lincoln Baxter III
A new major release of the
PrettyFaces JSF extension for Bookmarkable/Pretty URLs is now available for download.

December 16th, 2008 by

Lincoln Baxter III
The only thing that stays the same, in our field of Computer Science, is change itself. Do not try to predict what will happen in the future; instead know that the future will bring change, and that you will need to adapt to it.
Design systems which are capable of change, and you will be much more ready for the future.

December 9th, 2008 by

Lincoln Baxter III
After reading a recent article on logging, and when you should and shouldn’t do it, I asked my father for his views. He has about 25 years of experience in both small companies and large corporations, and got me thinking about some things that I hadn’t before.

December 8th, 2008 by

Lincoln Baxter III
A new release of the
PrettyFaces JSF extension for Bookmarkable/Pretty URLs is now availible for download. This release includes several new features.

November 12th, 2008 by

Lincoln Baxter III
What makes Pretty URLs in JSF so hard, and so slow?
Speed up development, reduce bandwidth, enhance user experience. This article gives a brief overview of JSF navigation, some of the problems, and potentially how to solve them by enabling bookmarkable, pretty URLs. Put simply… in my view, out of the box, JSF is a web framework designed for web-
applications, not designed for web-
sites. PrettyFaces addresses most of these issues.
Target audience for this article:
- The reader is familiar with JSF navigation.
- The reader is attempting to create a JSF app with bookmarkable “pretty” URLs. E.g.: …/mysite/archives/2008/11/11/
- The reader is familiar with HTTP request/response at a basic level.

October 9th, 2008 by

Lincoln Baxter III
Tutorials – What a nightmare
Everyone seems to be going through hell to get a fully functional JSF login page working with Spring Security (formerly Acegi,) and yes, I did too, but there’s an
EASY way to make this happen. And get this:
- It takes just five clear and well written lines of Java code.
First, the solution. Afterwards, the dirty details. (Spring 2.5.2 was used for this example, but this documentation is still relevant for Spring 3.x)
You can find a downloadable working example
here. There is also a followup article on post-authentication redirecting,
here.

September 18th, 2008 by

Lincoln Baxter III
Very Simple
In a JSF Reference Implementation, passing global faces messages between pages doesn’t work. It’s not designed that way “out of the box.” Fortunately there is a way to do this, which will even support redirects between pages, forwards through a RequestDispatcher, and also through standard JSF navigation cases.
There is a 5 minute solution to this problem.

September 9th, 2008 by

Lincoln Baxter III
Tutorial – Step By Step
If you’ve learned to use JSF Facelets to create on-the-fly, simple components using XHTML, then you probably have a whole slew of custom components that need to be copied between various projects, and can be somewhat painful to keep up to date. You may have tried to move them into a jar file, but Facelets can’t find them there (without some help from us.)
UPDATE – 09/15/2010: In JSF2, this process is no longer required. Simply use JSF2 relocatable resources: Any file placed under the /WebApp/resources directory, and any files placed in the jar:/META-INF/resources directories can be served directly using the JSF2 notation:
#{resource['ocpsoft-jsf2-templates/liquid-blue-2col:images/bodybg.jpg']} |
#{resource['ocpsoft-jsf2-templates/liquid-blue-2col:images/bodybg.jpg']}
Which targets the following resource:
[META-INF or WebContent]/resources/ocpsoft-jsf2-templates/liquid-blue-2col/images/bodybg.jpg |
[META-INF or WebContent]/resources/ocpsoft-jsf2-templates/liquid-blue-2col/images/bodybg.jpg