【背景】
親サーブレットから遷移先に指定されているJSPで
呼び出し元(親サーブレットを継承し製造したサーブレット、以下子サーブレット)のサーブレット名を取得し、表示したいです。
子サーブレットの全量がつかめていなく、リリースも近いため子サーブレットに手を入れず実装する方法を模索しております。
利用者→子サーブレット呼び出し→画面遷移の流れです。
リクエストから取得できるかと思い調べましたが、方法が見当たらなかったため、以下の方法を試しました。
【試したこと】
親サーブレット
java
1 public static String getName() { 2 String name = ""; 3 4 name = new Throwable().getStackTrace()[0].getClassName(); 5 6 return name; 7 } 8 9 10 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 11 12 request.setAttribute("name", getName()); 13 getServletContext().getRequestDispatcher("/Main.jsp").forward(request, response); 14 }
子サーブレットextends親サーブレット
java
1 2 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 3 super.doGet(request, response); 4 } 5
Main.jsp
<body> <%=request.getAttribute("name") %> </body>
このようにしたところ、画面では親サーブレットの名前が表示されてしまいます。
親サーブレットのみに手を入れる形で子サーブレットの名前を表示する方法はありませんでしょうか?
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/24 04:51