スクリプトレットで定義されたメソッドで読み込まれた値を画面に表示する必要があります。以下のコードはコンパイルされません。
<%!
void displayRecursively(KnowledgeElement ke, ExtendsRelationshipService ers){
List<ExtendsRelationship> erList = null;
%><%=ke.getName()%><br /><%!
try {
erList = ers.findIncomingExtendsKERelationships(ke);
} catch (Exception e) {}
if (erList!=null){
for (ExtendsRelationship er : erList){
KnowledgeElement startKe = er.getStartKE();
displayRecursively(startKe,ers);
}
}
}
%>
<%
KnowledgeElement ke = null;
ke = (KnowledgeElement)request.getAttribute("knowledgeElement");
ExtendsRelationshipService ers = (ExtendsRelationshipService)request.getAttribute("ers");
displayRecursively(ke,ers);
%>
コンパイルエラーは次のとおりです。
PWC6199: Generated servlet error:
cannot find symbol
symbol: variable ke
location: class org.apache.jsp.WEB_002dINF.ke_jsp
With .. %><%=ke.getName()%><% .. も同様にコンパイルされません。誰かがこれを解決する方法を提案できますか?