January 3rd, 2009 by Lincoln Baxter III

JSF 2.0 – Bookmark Extension for Pretty URL Mapping

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

JSF 2.0 Extension Development: Accessing FacesContext in a Filter

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

PrettyFaces 1.2.0 Released

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

Universal Context of Computer Programming

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

My father speaks on logging

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

PrettyFaces 1.1.0 Released

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

Make JSF intuitive, with bookmarkable and pretty URLs

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:

  1. The reader is familiar with JSF navigation.
  2. The reader is attempting to create a JSF app with bookmarkable “pretty” URLs. E.g.: …/mysite/archives/2008/11/11/
  3. The reader is familiar with HTTP request/response at a basic level.
October 9th, 2008 by Lincoln Baxter III

Acegi/Spring Security Integration – JSF Login Page

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

Persist and pass FacesMessages over multiple page redirects

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

Create a Common Facelets Tag Library: Share it across projects

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.)