We’re building the site out so posts for now will tend towards the technical side.

So we noticed that the form pages were loading slow. In our internal builds we have timing info for each freemarker page being loaded, including any Struts2 tag template page since we built our own theme. Oops, look at that, a form with about 15 simple fields is taking almost 4 seconds to load. Hmm, scratch to the head. Well, let’s try the simple thing first and inline a few of these Struts2 template tags. Surprise, much snappier. Inline all the form UI tags and now we get sub-second loads. If you’ve looked at the Struts2 templates you’ll see that they have a lot of logic and do a lot of including of other pages. But I’m not really sure why the performance is sooo slow; there is a clear conclusion though: unacceptable.

That splash is the sound as we throw away our tag theme and rid ourselves of the Struts2 UI tag architecture. One thing that made this easy was that after playing around with it, the Struts2 UI form taglibs are just kinda goofy; especially with so much non-customizable markup in the templates themselves. This makes using the XHTML theme useless. Also, what’s up with that Ajax theme, what a mess. I’m sure to have more comments about Struts2 in the future, but please don’t let this dissuade you from using or trying Struts2; it’s a great framework and the whole interceptor abstraction is a thing of beauty.