I have the JSP file (/page.jsp) in the root of my app directory. I want to use this class located in /WEB-INF/classes/Helper.class.
I tried using the JSP page import statment with the class name but that didn't work. How can I reference Helper.class so that I can use it my JSP? I don't want to include the class in a package/JAR.
解决方案
Okay, I didn't know this until I looked it up. The JSP Spec (JSP.11.2 JSP Page Implementation Class) is your friend. You'll need to move that class from the default package.
As of JSP 2.0, it is illegal to refer
to any classes from the unnamed
(a.k.a. default) package. This may
result in a translation error on some
containers, specifically those that
run in a JDK 1.4 or greater
environment. It is unfortunate, but
unavoidable, that this will break
compatibility with some older JSP
applications. However, as of JDK 1.4,
importing classes from the unnamed
package is not valid (see
http://java.sun.com/j2se/1.4/compatibility.html#source
for details). Therefore, for forwards
compatibility, applications must not
rely on the unnamed package. This
restriction also applies for all other
cases where classes are referenced,
such as when specifying the class name
for a tag in a TLD