サーベットJSP
から提供するファイルで次のコードを使用しています。AppEngine
<script type="text/javascript" >
var role = <%= request.getAttribute("role") %>;
</script>
変数はServlet
次を使用して設定されます。
req.setAttribute("role", role );
req.getRequestDispatcher("index.jsp").forward(req, resp);
コードは AppEngine の本番環境では問題なく動作しますが、ローカルの開発サーバーではすぐに次の結果が得られます。
Problem accessing /. Reason:
INTERNAL_SERVER_ERROR
Caused by:
java.lang.StackOverflowError
at org.mortbay.jetty.servlet.Dispatcher$ForwardAttributes.setAttribute(Dispatcher.java:438)
at org.mortbay.jetty.servlet.Dispatcher$ForwardAttributes.setAttribute(Dispatcher.java:438)
at org.mortbay.jetty.servlet.Dispatcher$ForwardAttributes.setAttribute(Dispatcher.java:438)
at org.mortbay.jetty.servlet.Dispatcher$ForwardAttributes.setAttribute(Dispatcher.java:438)
at org.mortbay.jetty.servlet.Dispatcher$ForwardAttributes.setAttribute(Dispatcher.java:438)
at org.mortbay.jetty.servlet.Dispatcher$ForwardAttributes.setAttribute(Dispatcher.java:438)
at org.mortbay.jetty.servlet.Dispatcher$ForwardAttributes.setAttribute(Dispatcher.java:438)
これは永遠のように続きます。デバッグ中に、サーブレット コードが無限に呼び出されていることも確認できます。
AppEngine の運用に関する同様の問題への参照がいくつか見つかりましたが、AppEngine 開発サーバーで実行可能な修正は見つかりませんでした。
何か案が ??