November 10th, 2011 by Lincoln Baxter III

PrettyFaces at JAXCon Munich

We are proud to highlight Christian Kaltepoth, who gave a fabulous presentation on [[PrettyFaces]] at WJAX/JAXCon in Munich on Wednesday, November 10th – 2011. Christan presented with Andy Bosch, who gave a short intro of URL-rewriting, what it means for applications in general, and why you should do URL-rewriting.
July 1st, 2011 by Christian Kaltepoth

PrettyFaces 3.3.0 has been released

The PrettyFaces team is pleased to announce the release of PrettyFaces 3.3.0. PrettyFaces is an OpenSource Servlets extension with enhanced support for JavaServer Faces – JSF 1.1, 1.2 and 2.0 – enabling creation of bookmark-able, pretty URLs. PrettyFaces solves the “RESTful URL” problem elegantly, including features such as: page-load actions, seamless integration with faces navigation, dynamic view-id assignment, managed parameter parsing, and configuration-free compatibility with other web frameworks.

Features & Enhancements:

  • Performance improvements when running JSF 2.0 in project stage ‘development’
  • Regular expression performance improvements provided by Yann Simon.
  • Ambiguous View IDs are now resolved automatically when using pretty:mappingIds in action method navigation, <h:link> and <h:button> component outcomes
  • Ambiguous View IDs may now be resolved manually for outbound URL rewrites by adding ‘?com.ocpsoft.mappingId=…’ to URLs before calling HttpServletResponse.encodeURL(…)
  • Dynaview URLs* are now resolved during rendering of links and navigation cases, and are now as functional as traditional mappings.

Bugfixes:

  • Fixed bug that caused path parameter validators to be ignored (#102)
  • Handle java.lang.ClassFormatError during initialization of bean name resolvers (#101)
  • Also check Weld 1.1.x specific servlet context attribute while search for BeanManager
  • Mapping inheritance now working correctly for mappings using the same viewId

* – Previously, DynaView URLs would only function on inbound requests, and once the method was evaluated, the value would be processed and then abandoned. For example, when rendering <h:link /> components, users would actually see the dynaview method definition rendered as their url! That is not a good experience, so in resolving the problem, we simple evaluate the dynaview method a second time (or as many times as necessary) in order to render the desired link target. And we do this using…
May 15th, 2011 by Christian Kaltepoth

Serving dynamic file content with PrettyFaces

PrettyFaces offers a very simple and flexible way to create bookmark-able RESTful URLs in JSF applications. This short article will show you how easy it is to use PrettyFaces for serving other dynamic content like images or PDF files. Many applications are required to generate some kind of “dynamic” content for the user. A typical example are product images in a web shop. These are mostly not deployed with the application archive but rather stored in an external directory or a database. Another example are PDF reports that are generated on demand when a user requests them.
April 7th, 2011 by Lincoln Baxter III

URL-rewriting in 60 seconds: JBoss Forge and PrettyFaces

Do you have an existing Maven-based Java EE application that you’d like to clean up a bit in the browser? Do your URLs look too much like this: http://example.com/app/sillyServletName/someStuff?sillyParam=22&sillyOtherParam=profile And not enough like this? http://example.com/app/profile/22 Are you building a new application, and don’t want to sacrifice anything when it comes to usability or SEO capabilities? Well, URL-rewriting is your answer, and it’s easy to get started, even easier using JBoss Forge.
January 19th, 2011 by Lincoln Baxter III

How-to: Modular Java EE Applications with CDI and PrettyFaces

I was recently asked the question, “Is it possible to create a modular JSF application, where JAR-files act as plug-ins and allow xhtml views, images, css, navigation rules, and managed beans to be added as modules to the application?” The answer to this question is, “of course,” but there is no pre-set way of accomplishing such a task, so you’ll have to be a little creative. I’ve come up with a conceptual architecture that “would work,” if properly implemented, but keep in mind that this is just something I threw together in a few minutes of thinking about the problem.
January 17th, 2011 by Team

PrettyFaces 3.2.0 is Released – URL Rewriting for Servlet, Java EE, and JSF

PrettyFaces is an OpenSource Filter-based Servlets extension with enhanced support for JavaServer Faces – JSF 1.1, 1.2 and 2.0 – enabling creation of bookmark-able, pretty URLs. PrettyFaces solves the “RESTful URL” problem elegantly, including features such as: page-load actions, seamless integration with faces navigation, dynamic view-id assignment, managed parameter parsing, and configuration-free compatibility with other web frameworks.

September 4th, 2010 by Team

PrettyFaces 3.1.0 released: URL-rewriting for Servlet & JSF

Features & Enhancements:

  • Introducing URL mapping configuration with annotations (tutorial + docs)
  • Added path and query-parameter validation wth managed bean methods (#50 + r353)
  • Added support for JSF2 redirects using ExternalContext (r305)
  • Added support for arrays as query parameters (r278)

Regression impact:

  • The URL query string is now included in rewrite-rules; this allows for finer control of the rewriting engine (Any prior rewrite rules should be revised and re-tested)
  • PrettyContext.getCurrentURL() has been replaced with PrettyContext.getRequestURL() and PrettyContext.getRequestQueryString()

Bugfixes:

  • Resolved Mojarra warning “Request path ‘/faces/url.xhtml’ begins with one or more occurrences of the FacesServlet prefix path mapping ‘/faces’.” when using path mapping (#43 + r379)
  • Resolved Deployment warning on Geronimo (#58 + r364)
  • URL Path Expressions now match correctly when more than one expression is used between path segments (r362)
  • Resolved ClassNotFoundException with JSF 1.2 on JBoss6 (#54 + r360)
  • Resolved failed deployment due to ClassNotFoundException on Geronimo (#59 + r369)
July 26th, 2010 by Team

Logo-Contest: PrettyFaces needs a “face” for the future

July 6th, 2010 by Christian Kaltepoth

Annotations support is coming to PrettyFaces: URL-rewriting

The PrettyFaces team is currently working on an alternative way to configure URL mappings. PrettyFaces will soon allow to use annotations instead of the classic XML configuration file to declare mappings. We encourage everyone interested in PrettyFaces to take a look at this new way of configuration and share his or her opinion with us.
January 28th, 2010 by Derek Hollis

One year’s time

It is amazing what can be done in exactly one year’s time.  January 17th will have been the 2nd anniversary since Lincoln Baxter and I started OcpSoft.  It’s been one seriously fun, and wild, ride with JavaServer Faces and the open-source community.  I want to take a moment to talk about my partner’s success story and what he has accomplished in just one short year.