私はWeblogic 10.3.3をインストールしており、再帰JSPタグに問題があるようです。インターネット上で同じ問題(hereとhere)を経験している他の人々が見つかりましたが、解決策はありませんでした。 Weblogic 12で修正されたか、9で作業していた人もいますが、確認できません。Weblogicタグと再帰JSPタグ
アプリケーションは、Spring/Spring Roo/Apache Tiles/jspxを使用して構築されています。
<jsp:root xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:coursedataimport="urn:jsptagdir:/WEB-INF/tags/coursedataimport" version="2.0">
<jsp:output omit-xml-declaration="yes" />
<jsp:directive.attribute name="programme" type="package.Programme" required="true" rtexprvalue="true" />
<c:out value="${programme.name}" />
<ul>
<c:forEach var="p" items="${programme.programmes}">
<li><coursedataimport:programme programme="${p}" /></li>
</c:forEach>
</ul>
</jsp:root>
これは動作しません。そして、私はこのようなtagxを持って
public class Programme {
private String name;
private final List<Programme> programmes = new ArrayList<Programme>();
...(getter/setter)...
}
:表示されているモデルクラスのようなものです。ページを要求すると、アプリケーションコンテナがクラッシュしているように見えます(おそらく、スタックのオーバーフローが発生しますが、ログにそのスタックが見つかりません)。アプリケーションコンテキストがリロードされます。 Tomcat 7ではうまく動作します。
示す例外は、このようなものですが、(それはエラーページについて語るので)私はそれが関連していますかはわからない:
[483389576 [アプリ@のServletContext:アプリ耳-0モジュール:appmodule path:/ CONTEXTROOT spec-version:2.5]]エラーページを処理中に問題が発生しました。 org.springframework.web.util.NestedServletException:要求の処理に失敗しました。ネストされた例外はjava.lang.ClassCastExceptionです:org.apache.tiles.ArrayStack at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:894)at org.springframework.web.servlet.FrameworkServlet.doGet( で javax.servlet.http.HttpServlet.service(HttpServlet.java:821)で javax.servlet.http.HttpServlet.service(HttpServlet.java:707)でFrameworkServlet.java:779)...
誰もが以前にこれらの問題を経験したことがありますか、誰かが修正を認識していますか?これをデバッグする方法や再帰タグを回避する方法についてのヒント(ツリーを表示したいので、少し難題です)。前もって感謝します。
プログラムタグを再帰的に呼び出そうとしていますか?私も同様の問題があります。再帰的にタグファイルを呼び出す際、Tomcat 6では動作しますが、Weblogic 11では動作しません。 –
はい、それが問題です。 Tomcatはうまく動作しますが、Weblogicはピタです。私たちは、再帰タグを使用しないようにコードを書き直すこととは別に、これを解決する方法を見つけたことはありませんでした。 – MikeN