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.

10+ YEARS


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.

Display Tag: Static Headers

One of the requests we get over on the display tag project is a way to have static headers. Basically, this means that a user could scroll down through all the records on a page and the header would stay in place. The next generation of the tag library has a <thead> and <tbody> that makes this fairly easy to do. For instance, just by adding style="height: 400px; overflow: auto" to the <tbody> tag - you get the desired effect. Cool stuff - only seems to work in Mozilla though. Any IE/CSS experts out there that can explain why it doesn't work in IE?

See Also: Display Tag: Static Headers - Revisited

Posted in Java at Aug 16 2003, 03:16:06 PM MDT 19 Comments

Cool RSS Readers for Windows

FR VS FD

I've recently come to accept the fact that I need an RSS Reader for Windows. I use NetNewsWire for the Mac and it's one of the best things since sliced bread. For Windows, I'm currently evaluating FeedReader and FeedDemon. FeedDemon is written by Nick Bradbury, the creator of TopStyle and HomeSite - my two favorite Windows apps. I tell you what - if Nick would create OS X versions of these TopStyle and HomeSite - I'd buy a G5 and get rid of Windows. I doubt that'll ever happen though. FeedReader is great with the tray icon and update notifications. FeedDemon has a "synchronize with OPML" that looks awesome, unfortunately, it doesn't work with my blogroll.

My favorite features of an RSS Reader? I've listed them below and if my readers support them. NNW = NetNewsWire, FD = FeedDemon, FR = FeedReader.

  • Drag-n-drop URLs from a browser window to the reader (NNW)
  • Ability to import my Blogroll from Blogroll.com (none)
  • Weblog posting/editing (NNW)
  • Retrieval of full post rather than description (NNW, FD)

If you can think of more cool reader features - let me know! There might be some I don't even know about.

Posted in Roller at Aug 16 2003, 11:57:24 AM MDT 4 Comments

Loving Java all over again

This past week has been hectic. I'be been pumping out what seemed to be a relatively small and simple application for a client. What was a simple 3-table 3-page application is now 14 tables and even more pages. But it's going awesome. It's the most productive I've ever been on a project - thanks to AppFuse, which is further backed up by the powerful Ant, XDoclet, JUnit, Struts and Hibernate.

The reason I've fell in love with Java all over again is I've re-discovered the power of reflection and inheritance. 8 of the 14 tables are child tables of a main "project table." As I noticed I was doing a lot of copy/paste in my DAOs, Services and Actions - I decided to reflection for all these child tables and now I have 3 methods on my DAOs (get/save/deleteProjectChild). Same goes for my Services and my Actions all share the same delete/edit/save methods in a BaseAction.

The only reason I even have child Actions is for URL beauty and to xdoclet-generate the action-mappings. Backed up by tons of JUnit, StrutsTestCase and WebTest test cases - it's been a breeze to refactor and enhance. I'm in love all over again.

Posted in Java at Aug 16 2003, 11:23:04 AM MDT 1 Comment