FAQs >>>

What are the two distribution files? What do I get?

There are two ways to download Java Web Parts: binary only or source package (fairly typical scheme). Regardless of which you choose, you are downloading an exploded webapp. So, you can simply unzip the file into your app server of choice, into webapps under Tomcat for instance, and start'er up and play. Actually, that's not completely accurate... the binary-only distribution will run immediately, the source package you will have to build. Instructions for building from source, such as they are, can be found in the readme in the root of the webapp.

How can I build Java Web Parts from source?

The first question you may want to ask is if you really have a need to do this in the first place. If you don't intend to alter the Java Web Parts code in any way, then just grab the binrary distibution and begin using Java Web Parts right away. If you are going to want to change the code though, then the build procedure is as simple as running Ant in the src folder. What you download, whether binary or source, is actually a webapp. The binary package is all set for you to drop in a servlet container of your choice and play with it. The source package has to be built to get to that point. I currently am using Ant 1.6.1, although any version close to that either way should work fine (let me know if you find any problems!). There are no properties to set or paths to set, it should Just Work(tm).

Can Java Web Parts be used as part of another project? How about just pieces of it?

Bottom-line: YES and YES. The only caveat is that either way you need to leave the copyright notices in all source files intact, and it would be nice to give credit in some documentation for your project, although this is not required. Since JWP is released under the Apache license, and since that license allows for this, who are we to argue?!? But yes, if you want to take one particular class out of JWP and include it in a project of yours, so long as the copyright notices stay in place you are absolutely allowed. But again, credit would be nice (wink-wink... nudge-nudge).

What servlet spec, JSP spec and JDK version does Java Web Parts support?

Java Web Parts is compiled using JDK 1.4.2 and officially supports servlet spec 2.3 and JSP spec 1.2. If you build JWP yourself, it should build with a higher JDK, and it should compile against higher servlet and JSP specs, but these are what are officially supported and used to build the binary distro.

Hey, I hear there's an AjaxTags component in JWP, but there's also a separate AjaxTags project. What gives?

Well, in fact it is called AjaxParts Taglib now, but it was called AjaxTags! AjaxTags began its life as an extension to the Struts HTML taglib. It was Struts-only, and lacked a lot of the functionality and flexibility it has today. This version was unleashed upon the world in April, 2005 (approximately... the memory's a bit flakey these days!). Later on, Frank decided to make it a generic taglib (i.e., not tied to Struts) and bring it under the JWP umbrella. This was in late June, 2005. In about August, 2005, another project appeared on the seen named AjaxTags. This is completely unrelated to the AjaxTags component of JWP! It is just an unfortunate case where two completely separate projects happened to choose the same name. Yes, AjaxTags in JWP (and the Struts-only version before it) would seem to have been first to use the name, but it doesn't really matter in the end. The goal of the projects are quite different... AjaxTags in JWP seeks to give you a much more open-ended Ajax implementation that can allow you to create whatever you want, where the other AjaxTags project seeks to provide ready-made Ajax-based components to drop into your application. In other words, the AjaxTags project is what you could do with the AjaxTags component of JWP yourself if you wanted to. If you have interest in the other AjaxTags, you can find it at the AjaxTags project page. I certainly encourge you to look at that project and see if it meets your needs. There is some interesting work being done there, and that work doesn't conflict with AjaxTags in JWP. I know I'm repearing myself, but it's worth driving home... the project have very different goals, and very different potential usage patterns... one may very well fit better than the other in one case, and be the exact opposite in another.