Matt RaibleMatt Raible is a writer with a passion for software. 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.
You searched this site for "<a href=". 3,022 entries found.

You can also try this same search on Google.

Panther coming in 14 days

I don't mind paying $129 bucks to speed up my Mac - but this image is too good to pass up.

Panther Coming...

Posted in Mac OS X at Oct 08 2003, 11:00:12 AM MDT 4 Comments

IDEA seems dumb

I'm going to rant about my issues with IDEA here because it always gets to so much praise in blogs. I like the fact that it opens quickly on OS X. However, every other time I open it, after it spends 10-20 seconds "loading project files," then synchronized local VCS and then the dialog hangs and I can't get rid of "storing local CVS." Closing IDEA fixes the problem usually. Secondly - and this is a new one - I just created/opened a new project (Canoo's WebTest) and it can't find import java.util.Map; What the? You can't find "java" files even though I told you my JDK was in "/usr" (which it should've detected anyway). It's highly likely that I'm the dumb one, but at this very moment it seems that IDEA gets to wear the dunce cap.

Posted in Java at Oct 08 2003, 09:27:54 AM MDT 9 Comments

What's the best way to test Tag Libraries?

I know of two tag libraries that are in dire need of unit tests - the displaytag and struts-menu. Both have no tests. I've looked briefly at TagUnit, but aren't you just writing JSPs (with custom tags) to test JSPs? I'd rather have an Ant/JUnit driven solution. Also, are there HTML versions of the user guides for TagUnit (Simon ;-)? I hate PDFs.

So my question is - how do you test your tag libraries?

Posted in Java at Oct 07 2003, 10:28:26 AM MDT 7 Comments

Monitor Connections in SQL Server

Does anyone know how to monitor the number of Connections in SQL Server? In MySQL, I use "mysqladmin processlist", but there doesn't seem to be such a utility for SQL Server. I need to make sure that my connections are getting closed properly.

Posted in Java at Oct 06 2003, 04:54:46 PM MDT 4 Comments

Java Infested Week

This week looks to be highly Java infested for me. This is a good thing and I hope to learn a lot. Tomorrow, I'm teaching a JSP class at a local company, so I'll probably learn some tips and tricks with JSPs from the students in the class. Wednesday, the Denver Java Users Group has a presentation on JavaServer Faces. Thursday, James is coming to the Boulder JUG to talk about Effective Object Orientation. I'll be attending both. Finally, on Friday, I'm joining Julie, Abbie and rest of her family in Evansville, Indiana for Julie's Grandpa's (a.k.a. "Paw") Birthday. I'm on a late Friday night flight, and it's long, so I plan on knocking out JSP 2.0. Then again, airplanes tend to put me to sleep. Combine that with a book on technology and I may just end up getting some good rest for the party on Saturday.

It's a good time to be a Java Developer in Silicon Mountain.

Posted in Java at Oct 06 2003, 08:11:49 AM MDT Add a Comment

Dynamic Queries with Hibernate

I have a client that wants the ability to search on all columns in all tables in their database. So far, I've been able to get all the columns, and their friendly labels by getting all the *Form.* keys in my ApplicationResources.properties file. I still need to sort them alphabetically, but that's another issue. Now I have the following UI pretty much done:

I'm happy with the UI, but I'm struggling with getting Hibernate to return my desired results. I'm able to dynamically select the table/column to search on because of values in my "tables/columns" drop-down. However, many of these tables have Id fields - for status fields, type fields, etc. (basically drop-downs). When searching, this is a pain because users are likely to search on "Active" rather than "1". Because of this, my first issue is how do I make the status field's friendly name a part of my POJO (with Hibernate)?

My 2nd issue is regarding Hibernate's Expression API. I want to be able to pass in the criteria (=, contains, <, >), propertyName and value and get my results. However, it seems that the second half of the comparison must be the same datatype as the field. This means if you're searching on "contract amount", and its a Double, I need to do a Double.valueOf(searchTerm). Basically, I'm looking for an easy way to do this:

  Criteria filter = ses.createCriteria(clazz); 
  
  // determine type of expression - I'd love to figure 
  // out a cleaner way to do this but there's only 
  // 5 possible types, so I don't mind typing the 5
  // if statements
  if (expression.equals("=")) { 
    // How do I convert these to the fields' type at run-time?
    // Sure I could do a bunch of if statements again, but it seems ugly.
    filter.add(Expression.eq(field, Double.valueOf(value))); 
  }
 
  List results = filter.list();

Any advice is appreciated - especially considering I estimated this task to take 4-5 hours and I'm going on 8.

Posted in Java at Oct 05 2003, 10:39:29 AM MDT 11 Comments

Pictures from the Great American Beer Festival

Last weekend, I volunteered to serve up 1 oz. beers at the Great American Beer Festival. It was a great time, and I highly recommend it. I was fortunate enough to be serving beers from the Brooklyn Brewery, which won both a gold and a silver medal. Here are some pics from the event.











Posted in General at Oct 04 2003, 11:35:21 AM MDT 3 Comments

Interesting shortcut keys in Safari

I discovered these by accident tonight. By holding down the "Apple" key (or whatever the hell its called) and pressing a number in Safari - it'll open that respective bookmark. So I have vi Reference as my first bookmark, and Apple is second. Apple+1 open vi reference, Apple+2 opens apple.com. Doubt I'll use it much, but interesting to know.

Posted in Mac OS X at Oct 03 2003, 09:51:46 PM MDT Add a Comment

Time to hook up the Senior J2EE Developers in Denver

This is nuts - I'm getting at least one call or e-mail per day from recruiters and/or friends in Denver. Rather than posting these positions here (with Rates), if you're a Senior J2EE Developer in Denver, let me know. I'm going to start a list of folks with skills like mine so I can hook some brutha's up! I have 2 right now - both for J2EE/Web stuff.

Here are my requirements to get on my list:

  • Must know Ant, meaning you've written a build.xml file before. Having read Java Development with Ant is a huge plus.
  • Blogging is a plus - it means you're interested in Java and sharing your ideas (implying that you think outside of work).
  • You've used Eclipse or IDEA and use one or the other on a regular basis. This implies that you know a good IDE can improve your productivity.
  • Must know XHTML and CSS. I do, and I said skills like mine.
  • You're able to checkout AppFuse from CVS, build it and run "test-all" with success. README.txt is your friend.

I reserve the right to delete any of your e-mails and resumes, and to hook my friends up over other folks. I don't want to get a flood of e-mails, I'm just trying to hook up good folks with good jobs. If I can get the rates, I'll let you know what they are.

Posted in Java at Oct 03 2003, 12:08:47 PM MDT 9 Comments

Simple "workaround" for exporting with the displaytag using Tiles

I figured out an easy "workaround" to the fact that the displaytag's export feature (to XML, CSV, and Excel) doesn't work when using Tiles. The happens because the response has already been committed by Tiles (when including previous JSPs) and the displaytag is unable to set the contentType. Here's my workaround:

In struts-config.xml, create a local forward that goes directly to the JSP:

  <forward name="exportList" path="/WEB-INF/pages/userList.jsp"/>

Then in your Action, add a little logic to see if you should forward to the definition or to the list:

  // if exportType is a parameter, forward directly to JSP
  if (request.getParameter("exportType") != null) {
    if (log.isDebugEnabled()) {
      log.debug("export detected, forwarding directly to list jsp");
    }

    return mapping.findForward("exportList");
  } else {
    // return a forward to the user list definition
    return mapping.findForward("list");
  }

Tested with displaytag 0.8.5 on Windows XP and Tomcat 4.1.27. Enjoy!

Update: This workaround will not work with displaytag 1.0b1. There is another solution using a Filter, so we'll try to incorporate that into the 1.0 release.

Posted in Java at Oct 02 2003, 09:58:41 PM MDT 1 Comment