我想我在这里做了一些可怕的错事。
我之前从未使用过NetBeans,之前也没有使用过JavaServer,尽管我已经用Java编程了。在netBeans中,在一个Web项目中,我创建了一个名为DonationCalc的包,其中包含一个包含my bean的文件DonationCalc.java。在jsp文件中,我有以下内容:
<%@page import="DonationCalc.*" %> [...] <jsp:useBean id="Calc" class="DonationCalc" />
但是,我得到了“string:///DonationCalc_jsp.java:6:包DonationCalc不存在”
我一直在读其他关于WEB-INF / Classes下的类的内容,但我没有这样的文件夹,并且NetBeans坚持将任何新包放在“Source Packages”下。
我需要添加什么来帮助我的.jsp文件找到bean?某种目录路径?或者我应该把东西放在其他地方开始?
ETA:显然问题是它是为glassfish而不是tomcat配置的。然而,在tomcat下创建一个新项目已经产生了一系列问题,我已经宣誓了所有形式的java,包括岛国和所有含咖啡因的饮料。
答案 0 :(得分:1)
此处不需要@page import
,因为它只导入 scriptlet 范围,而不是导入taglib范围。你不想使用scriptlets,所以完全忘了它。在jsp:useBean class
中,您需要指定完全限定类名,因此包括包名。
<jsp:useBean id="calc" class="com.example.DonationCalc" />
顺便说一下:
我一直在读其他关于WEB-INF / Classes下的类的内容,但我没有这样的文件夹,并且NetBeans坚持将任何新包放在“Source Packages”下。
这是真的。 IDE就像Netbeans和Eclipse一样,自动构建源文件并将其编译到正确的位置。你不必担心这个。但是,这必须知道何时您想要了解它是如何工作的“引擎盖下”和/或您希望(能够)使用命令控制台工具而不是IDE构建。