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.

PlugIns and Struts Nightly Build

I had a nice frustrating evening tonight trying to get the nightly build of Struts to work with Tiles, Modules and the Struts Menu. Actually, it wasn't a Struts problem so much as a Struts Menu problem. I was getting a java.lang.AbstractMethodError error when hitting the first action class, and couldn't figure out why. I started by bitching to the struts-dev list, and then filed a bug. Eddie Bush was kind enough to suggest that there was something wrong with my PlugIns. I thought - how could there be - I'm using Tiles and Validator? So I looked at my struts-plugins.xml file and there was the culprit - struts-menu. It turns out that I needed to add the following variable and method to MenuPlugIn.java:

/** The plugin config object provided by the ActionServlet initializing
 *  this plugin.
 */
protected PlugInConfig currentPlugInConfigObject;

/**
 * Method used by the ActionServlet initializing this plugin.
 * Set the plugin config object read from module config.
 * @param currentPlugInConfigObject
 */
public void setCurrentPlugInConfigObject(PlugInConfig currentPlugInConfigObject) {
    this.currentPlugInConfigObject = currentPlugInConfigObject;
}

This post was written in hopes of alleviating someone else's troubles with this same problem.

Posted in Java at Dec 28 2002, 02:00:47 AM MST Add a Comment