質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Q&A

解決済

1回答

15387閲覧

JSPで session.setAttributeを次のJSPへ渡す方法?

退会済みユーザー

退会済みユーザー

総合スコア0

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

0グッド

0クリップ

投稿2015/07/23 12:02

編集2015/07/24 00:18

eclipsをで、JSPを作っています。

サーバーでエラーが出たときに、ほぼ、例外などで、拾っているのですが、
まれに、普通にエラーがWEB画面に表示され、ソースの一部なども表示されてしまいます。

それを改善する為に、
全JSPの頭に、下記を書き、予想外のエラー時は、app_error.jspを
呼ばれるようにしています。
<%@ 省略 errorPage="app_error.jsp" %>

それで、app_error.jspの中に、下記一例のように、
ユーザーへ、エラー内容を見せるとともに、
管理者へ、エラー情報を送るapp_send_mail.jspへ情報を渡すため、
下記のようにsession.setAttributeに書き込んでいます。

<td><b>サーブレット名</b></td> <td><%= request.getAttribute("javax.servlet.error.servlet_name")%></td> <% session.setAttribute("servlet_name", request.getAttribute("javax.servlet.error.servlet_name")); %>

しかし、Windows上では、正常に、app_send_mail.jspに値がわたり、メール本文へもエラー情報が
かかれるのですが、
サーバー上だと、app_send_mail.jspで、session.getAttributeをしても、nullになります。


それで、上記方法をあきらめ、
下記のように、INPUTの hiddenで渡そうとしているのですが、
Valueのところへの書き方がわかりません。

どのようにすれば、よいでしょうか?

<FORM method="POST" action="http://localhost:8080/app_send_mail.jsp"> <INPUT type="hidden" name="subject" Value=<% session.setAttribute("servlet_name", request.getAttribute("javax.servlet.error.servlet_name")); %>> <TABLE> <TR> <TD>タイトル</TD> <TD><INPUT type="text" name="subject2" size=32 Value="サーバーで障害発生"></TD> </TR> <TR> <TD>メールアドレス</TD> <TD><INPUT type="text" name="mailaddress" size=40></TD> </TR> <TR> <TD> </TD> <TD><INPUT type="submit" value="送信" ></TD> </TR> </TABLE> </FORM>

PS.全部のJSPの頭に、session="true" は書いてあります。上記のJSPも当然かいてあります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

以下でどうですか
value="<%= request.getAttribute("javax.servlet.error.servlet_name") %>"

投稿2015/07/24 02:25

omochi

総合スコア410

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/07/24 08:57

ご回答ありがとうございます。 うまくいきました。 散々あれこれやってダメだったのに、大変たすかります。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問