6

Weblogic 10.3.3をインストールしていますが、再帰的なJSPタグに問題があるようです。インターネット上で、同じ問題(ここここ)を経験している他の人々を見つけましたが、解決策はありません。Weblogic 12で修正されている、または9で機能していたと言う人もいますが、これは確認できません。

アプリケーションは、Spring / Spring Roo / Apache Tiles/jspxを使用して構築されています。表示されているモデルクラスは次のようなものです。

public class Programme {

private String name;
private final List<Programme> programmes = new ArrayList<Programme>();

...(getter/setter)...
}

それから私はこのようなtagxを持っています:

<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>

これは機能しません。ページをリクエストすると、アプリケーションコンテナがクラッシュしているように見え(おそらくスタックオーバーフローが発生しますが、ログに見つかりません)、アプリケーションコンテキストが再読み込みされます。Tomcat 7では、正常に動作します。

示されている例外は次のようなものですが、関連しているかどうかはわかりません(エラーページについて説明しているため)。

[ServletContext @ 483389576 [app:app-ear-0 module: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(FrameworkServlet。 java:779)at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)at javax.servlet.http.HttpServlet.service(HttpServlet.java:821)at .. ..

誰かが以前にこれらの問題を経験したことがありますか、または誰かが修正を知っていますか?これをデバッグする方法、または再帰タグを回避する方法に関するヒント(ツリーを表示したいので、少し難しいです)。前もって感謝します。

4

1 に答える 1