Tomcat6.0、Eclipse SDE 7.0 Express for Web Developers、および jdk1.6 を使用しています。
私のjspページには、次のようなコードがあります
<%
List<String> options = new ArrayList<String>();
DynamicCombo comboBox = new DynamicCombo();
options = comboBox.generateComboBox();
Collections.sort(options);
int tempVar = 0;
while (tempVar < options.size()) {
out.print("<option value=\"");
out.print(options.get(tempVar));
out.print("\">");
out.print(options.get(tempVar));
out.print("</option>");
tempVar++;
}
%>
DynamicCombo はパッケージ com.ems.billGen.util 内のクラスであり、このパッケージを次のように jsp に適切にインポートしています:-
<%@page import="com.ems.billGen.util.*" %>
このクラス DynamicCombo には、単純に文字列のリストを作成してこの文字列を返す、generateComboBox() という名前のメソッドがあります。
上記の jsp でクラス DynamicCombo にカーソルを合わせると、クラスの適切なドキュメントを取得できるため、よく認識されていることがわかります。以下のスクリーンショットをご覧ください:-
上記のページをデプロイしてFirefoxで表示すると、次のジャスパー例外が発生します:-
jsp ファイルの 36 行目でエラーが発生しました: /implementation.jsp
DynamicCombo cannot be resolved to a type
33: <td><select name="product_list">
34: <%
35: List<String> options = new ArrayList<String>();
36: DynamicCombo co = new DynamicCombo();
37: options = co.generateComboBox();
38: Collections.sort(options);
39: int tempVar = 0;
その理由と、この問題を解決する方法を理解できません。どんな入力でも大歓迎です。
それぞれのクラス ファイルも、war ファイルの web-inf フォルダーにある DynamicCombo 用に次のように生成されます。