2016-11-27 38 views
0

私はこのタイトルについて多くの話題を見ましたが、私は別のものが必要です。JSPを生成する前にJavaサーブレットからJavascriptアラートを呼び出す

サーブレットの実行中に簡単なJavaScript alert()メソッドを呼び出す方法(クライアント側でジャンプ)

protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 

    // CODE 
    // JavaScript's Alert('Hello') 
    // CODE 
    // response.sendRedirect('page.jsp')  

} 

だから、クライアントのみのHelloが表示され、その後、page.jspが生成されます。たとえば

は、ここで私はそれが可能だ場合は作成したいものの概念です。

+0

ユーザーが特定のページから来た後、 'alert()'をpage.jsp上で実行しようとしていますか? – pleasedesktop

+0

JavaScriptはページ/ JSP内に組み込まれていますが、その方法はありません。 – msagala25

+0

@pleasedesktopどこでalert()を取得しても、サーブレットの結果についてユーザに警告する必要があるので、最初または2番目のページに必要です。 – luka032

答えて

0

Dispatchプロセスを使用して目的の結果を渡します。

Servlet.java:

request.setAttribute("alertName", "Sample Result"); 
request.getRequestDispatcher("page.jsp").forward(request, response); 

あなたはpage.jspがあなたのservletで希望の結果を使用して起動する前にユーザーに警告します。次のコードを使用して結果を取得し、ページロードの前にalert()メソッドに配置することができます。

page.jsp:上記のコード

<body> 
    <input id="alertName" type="hidden" value="${alertName}"/> 
</body> 

ます、それはクライアント側だけを処理するので、我々は直接JavaScriptでそれを置くことができないため、隠されているinput要素への入力alertNameの値を。 BTW ${alertName}はEL(Expression Language)を使用して取得されますが、サーバー側で処理されるため、JavaScriptに直接入れることはできません。

<script> 
     $(window).load(function() { 
      var alertName = $("#alertName").val(); // retrive using the ID of the input 
      alert(alertName); // The prompt will alert "Sample Result" 
     }); 
</script> 
+0

サーブレットの結果に応じて、彼に別の警告を送る必要があります。 – luka032

+0

@ luka032私はそれを編集しました。ディスパッチを使用してサーブレットの結果をJSPに渡すことができます。 – msagala25

+0

ありがとう、すばらしい応答! – luka032

関連する問題