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

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

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

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

Q&A

解決済

1回答

234閲覧

JSP初歩の初歩:参考書に記載された内容の確認。①JSP間値受渡し方法のパターンでの違い ②JSTL使用にあたり、予めダウンロード済も、接頭辞横にURIを書く理由

saya24

総合スコア221

JSP

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

0グッド

0クリップ

投稿2020/08/23 04:49

参考書を読んでいるのですが 疑問に思うことが一切言及されていませんので どなたか教えてくださいませんか?

①JSPファイル間の値受渡し方法として 以下2パターンが紹介されています。

JSP

1request.setAttribute("") 2 3<jsp:forwad page=""> 4 <jsp:param name="" value="" />

前述と後述で HTTPリクエストの生成され方が 違うことを想像したのですが
前述:ボディにその属性項目が現れる
後述:ボディにその項目は現れない、リクエストラインのURIにクエリ文字列として現れる
というように思ったのですが 間違いないでしょうか...

②JSTLというライブラリの使用方法が紹介されていますが 利用する上での定義に疑問があります。

予め外部よりダウンロードしておくよう紹介されているのですが 以下のように接頭辞横にURIを記載する理由がよく分かりません。
インターネットが利用できない環境では このライブラリは 利用できない、ということでしょうか?
当該JSP実行時 実際にこのURIへ接続しにいくのでしょうか? 予め入手したものは 適時そちらへ接続しにいく内容にいなっているのでしょうか

JSP

1<%@ taglib prefix="" uri="http://java.sun.com/jsp/jstl/core" %> 2

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

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

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

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

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

coco_bauer

2020/08/23 05:40

参考書に丁寧な説明がされていないのであれば、別の参考書を探したほうが良いと思います。
guest

回答1

0

ベストアンサー

request.setAttributeメソッドは、「リクエスト属性へ変数を格納する」ものなので、フォワード先で取得する場合は、request.getAttributeメソッドになります。

一方、jsp:forward内のjsp:paramは、フォワード先にパラメータを渡すものですが、それは「リクエストパラメータ」になりますので、取得するときはrequest.getParamterメソッドで取得します。

taglibのuriはそのタグライブラリを一意に定義する"名前"でしかなく、ライブラリが公開されているURLではありません。
タグライブラリ仕様として、タグライブラリのjarファイル内にてタグライブラリを一意に定義できるuriを定義しておき、インポートしているJSPにて使用するライブラリを、そのURIで選択できるものです。

投稿2020/08/23 05:35

A-pZ

総合スコア12011

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

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

saya24

2020/08/23 06:03

A-pZさん、いつもお世話になっております。 1についてのご回答ですが、正直 参考書に書いてある内容と同じ!!と率直に思いました。 取得方法に違いがあるだけで、当方が疑問に思ったHTTPに違いはない、ということなのでしょうか?? 私、変なことを聞いていますかね。すみません。 2は完璧に納得できました! ありがとうございます。
saya24

2020/08/23 06:43

ひょっとしてクライアント間のやりとりにならないから、HTTPはJSP間のやりとりでは生成されていない??
A-pZ

2020/08/23 08:02

はい、リクエスト属性はHTTPでは送信されません。 ご推察のとおりフォワードは、ブラウザとサーバ間に通信が発生しないのです。サーブレットからJSPを表示する際にフォワードを利用するかと思いますが、サーブレットからJSPのフォワードでは、サーブレットから直接JSPへ遷移します。 リダイレクトとフォワードの動きの違いを正しく知るのも、理解の一助になるのではないかと思います。
saya24

2020/08/23 08:47

requestっていうから勘違いしてしまったんです。私だけですね、そんな勘違いをするのは。 どうりで参考書に言及がないわけだ
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問