• ベストアンサー

JSPの処理の途中で、JavaScriptの処理をしたい

プログラムをJSPで記述している(<% %>タグ)のですが、 JavaScriptのalertやconfirmなどのポップアップするダイアログを 表示したいのです。それは可能なのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

No.2の回答に対する回答(変な日本語ですが)です。 JSPとJavaScriptの処理の行われる順番について考えていないと エラーになることがありますよ。 大まかな流れは、  JSPのソースをサーバ側で解釈、実行する(HTMLのソースを吐き出す)   ↓  クライアントに生成したソースを送信する   ↓  クライアント側のブラウザがソースを解釈する   ↓  ソースの中のJavaScriptを、ソースの上のほうから順次実行する   ↓  同時に、通常の表示(HTMLの解釈)も実行される  と、こういう流れですので、例えば、JavaScriptで値を入力し、 JSPでその値を使おうとすると、エラーとなります。  具体的にやりたいこと(やろうとしていること)を書いていただいたほうが 適切に回答できますが、上記が今考えられるエラーの原因です。

sugoitensai
質問者

お礼

なるほど、処理の実行順序を考えて行ってないとエラーが発生してしまうのですね。

すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.2

もし、単純にJSP処理と処理の間にアラート表示などをさせたいならばこういう記述があります。 <%   JSP処理A %> <Script Language=”JavaScript”>  Alert(”<%=JSPの変数%>”); </Script> <%   JSP処理B %> (タグ扱いされると困るので、全角で書きました。 見づらいかと思いますが、ご容赦ください。)

sugoitensai
質問者

お礼

ありがとうございます。上記の方法で、 変数などをalertで表示することはできました。 しかし、alert以外の処理を行うとエラーの発生することがあります。 推奨されたやりかたではないのでしょうか?

すると、全ての回答が全文表示されます。
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

「JSPの処理の *途中で* ~」というのは、無理です。 どこでプログラムが動いているか、を考えてください。 JSP は、Webサーバで、Javascript はクライアントのブラウザ上で動作するものです。 JSP の処理中で、問い合わせを行いたいたいところがあれば、処理を中断し、alert() などの javascript を onload などで実行するようなページにして、クライアントで入力をさせ、 その入力内容をパラメータとして、再度 JSP の処理をさせる、ということになります。

すると、全ての回答が全文表示されます。

関連するQ&A