Matt RaibleMatt Raible is a Java Champion and Developer Advocate at Okta.

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.

One thing's for sure

The Java Community certainly does care about JSF. Regardless of whether folks like it or hate it - there's definitely a lot of opinions! Who woulda thunk a simple blog entry would get so much traffic? Wierd.

You know it's a late night when Erik posts before you go to bed...

Posted in Java at Aug 20 2004, 04:52:09 AM MDT 10 Comments

I was thinking the same thing last night, after coming across the umpteenth link to a discussion about this. I bought Geary's book awhile back though, read the 1st chapter, and became a bit disenchanted. On the 1st page: "The promise of JavaServer Faces is to bring rapid user-interface development to server-side Java." They then go onto show a few screenshots of diff gui dev tools being used to drag/drop jsf pages. I like the idea that tools are or will be available for JSF, but I don't like thinking I have to use them. The chapter also goes on to talk about the controller and how JSF connects components to the model - sounds like a complete framework to me, negating the "Struts/Spring and JSF can work together" spiel I keep hearing. I think JSF could be extremely useful though if the view components (custom, reusable, etc.) could be easily used in 3rd party frameworks.

Posted by Paul on August 20, 2004 at 11:12 AM MDT #

Matt, Recently I had the chance to build a small intranet app in WSAD JSF. WebSphere 5.1.2 has good support for JSF. They have several extended custom JSF components beyond the Sun RI and nice page designer interface. I built a web front end to create email message including uploading attachments. One of the IBM custom controls is a rich text control that looks like wordpad but posts an html fragment back to the server. Although I did needed a little help from JAD. I really like what I see in JSF. I?ve made my way thru several JSF books. I think that they have taken the best of struts and made it better. Not only does it have EL support for JSP tag attributes but also embedded in XML attributes (very cool). The managed beans are also very fun. The key is that the frame is extendable. For every key framework component, you have the ability to hook-in and override. Factories accomplish this and metadata the same way struts works. I do like the JSP JSF custom tag approach but I would rather work with an XML method of constructing a HTML page. We?ve done this with a struts extension and have had found allot of reuse in hundreds of dynamic pages. However, I do think that writing code to fulfill the non-functional requirements is much more fun than writing code to solve the business problems. JSF should help give use more non-functional fuel. BTW, if you want to keep track of filings with your company, you can be notified via email or Gary

Posted by Gary VanMatre on August 20, 2004 at 12:43 PM MDT #

I hate to say it, but your app demonstrates why I don't like JSF. If I look up "Raible", it shows up with 3 entries and it looks like someone cancelled my registration this year. In a normal, well-designed app I could send my accountant a link (saying WTF?!) that would bring up the 3 entries. Instead, I have to send her a link and tell her to search for herself.

Posted by Matt Raible on August 20, 2004 at 12:56 PM MDT #

That?s what happens then you automate a business based on the law. The fact that your company was listed 3 times has nothing to do with the framework (non-functional requirements) of choice but because a bunch of attorneys created laws that say if you fail to file your annual report, your company is dissolved but your name is protected with the dissolved suffix.

Posted by Gary VanMatre on August 20, 2004 at 01:32 PM MDT #

I think Matt's point was not so much the extra entries, but the fact that he cannot directly link or bookmark the results page, since the query criteria is in a POST. Granted, you can take that approach entirely independent of JSF, too...

Posted by on August 20, 2004 at 06:45 PM MDT #

The nice thing about using the struts form bean is that it really doesn't care how you interface with the page as long as you pass the right arguments. I guess that you could build your apps exclusively using redirects but an occasional forward will save you a round trip. The online reinstatement transaction should be available soon but you'll have to file the paper document for now.

Posted by Gary on August 21, 2004 at 03:06 PM MDT #

Did you close your company?

Posted by on August 21, 2004 at 06:43 PM MDT #

Not at all, that's why I was so surprised to see that it's been "dissolved"!

Posted by Matt Raible on August 21, 2004 at 09:00 PM MDT #

Matt, All that happened is that you forgot to file you annual report. There are types of entities that don't require a reporting period. Maybe you converted your company form an non-reporting entity to a reporting entity and your accountant overlooked it. After your report due date, you are dissolved but your name is protected for something like 400 days. After the expiration period, your name is protected with the dissolved suffix. This means that someone could take your company name. If you reinstate, you can get your original name back. That's about all I know. Like most developers, it seams that we learn the business backwards. Gary

Posted by Gary on August 22, 2004 at 11:27 AM MDT #


Posted by on October 19, 2005 at 10:59 AM MDT #

Post a Comment:
  • HTML Syntax: Allowed