Matt RaibleMatt Raible is a Web Developer and Java Champion. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

Thoughts on MyFaces 1.2 vs. JSF RI

Yesterday, MyFaces 1.2 was released. I took the opportunity to upgrade AppFuse Light and found it surprisingly easy to do so. The only issue I ran into is my testing logic no longer works. I haven't had a chance to dive deeper into trying to fix the problem, but I did check the code in.

Since I'm using Facelets with MyFaces, I figured it should be possible to run my app on Tomcat 5.x. No dice. I tried replacing MyFaces with Sun's RI (version 1.2_04) and voila! - it works.

From what I learned yesterday, it appears that MyFaces 1.2 will only run on a container that supports JSP 2.1. Sun's RI, on the other hand, will run on a Servlet 2.4/JSP 2.0 container. I don't know if Sun's RI is doing things properly, but it doesn't seem like Servlet 2.5 is required (which is kinda nice IMO).

You might ask why I care about JSP 2.0 vs. JSP 2.1? In reality, I don't. However, if I were to mix and match Struts 2 and JSF in the same application (using the Struts 2 JSF Plugin), I'd like to do it on a JSP 2.0 container. Why? Because OGNL (the EL in Struts 2) uses the pound sign (#) for expressions and JSP 2.1 hijacked that. Until the Struts team fixes that, I'm stuck on JSP 2.0. The workaround (disabling EL for all JSPs) doesn't seem like a good option to me.

Posted in Java at Jul 19 2007, 11:32:18 AM MDT 7 Comments

There are specific hooks for accomodating EL creation and registration in the RI, which were spurred on by the Facelets camp, but I'm assuming have been well utilized by the vendor community and their containers also. I've complained too about some of the default logic they setup for JSP 2.1 and why it still doesn't handle inline content properly for JSF even-- it went something like, "Ummm... we're not sure how to make everyone happy with pound syntax, so we're just going to make everyone unhappy." :-)

Posted by Jacob Hookom on July 19, 2007 at 05:51 PM MDT #

I believe from the spec point of view, what the RI is doing is allowed. If you're using JSP for your views, then yes, you need to use JSP 2.1. If you're using Facelets, then those requirements are no longer relevant.

Posted by RL on July 19, 2007 at 06:50 PM MDT #

JSP is dead to me. Jacob, are you listening? Put some fire under that Facelets-like spec in JSF 2.0. I don't ever want to have to look back. Too many horrible memories...and they still don't get it.

Posted by Dan Allen on July 19, 2007 at 11:57 PM MDT #

+1 JSP is dead to me. I hope Facelets becomes part of JSF 2.0 as well.

Posted by Rick Hightower on July 20, 2007 at 07:23 PM MDT #

+0.5 I am trying to kill JSP in my applications :-p Same wishes as Rick.

Posted by Ashkan on July 21, 2007 at 12:10 PM MDT #

I switched from MyFaces to Sun JSF RI because the implementation of the server side state saving method was broken in My Faces 1.4 . I am using Seam 1.2.1 , Facelets and have a publicly hosted site . Using Ajax and client side state saving was making my application very slow and hence moved to Sun JSF RI I need to explore the Server side state saving in MyFaces 2.0 --Hari

Posted by Hari on August 01, 2007 at 07:48 AM MDT #

I am interested in struts2-jsf plugin. but I want to know that is it possible to run a struts2.3+jsfplugin+myfaces2.1.6 project on tomcat7.0 ? just a try, thank you.

Posted by qiangbro on March 22, 2012 at 03:09 PM MDT #

Post a Comment:
  • HTML Syntax: Allowed