Servletで画像のパスをMySQLから受け取って、JSPで画像を表示させたい
解決済
回答 1
投稿
- 評価
- クリップ 0
- VIEW 2,041
前提・実現したいこと
研修で、webアプリケーションを作成しています。
商品カテゴリをクリックすると画面遷移をし、そのカテゴリに沿った商品データ(商品名や値段等)と画像を表示させたいです。
JSPからServletへデータの受け渡し、ServletからJSPへデータの受け取り、のそれぞれは組めていると思います。
ですので同じように組めばパスは受け取れると思うのですが、そのパスを元に画像を表示させるソースが分かりません。
発生している問題・エラーメッセージ
下記のソースをそのまま使っている訳ではありませんが、書き方はこうなっています。
受け取り、受け渡し、選択の受け渡しの書き方です。
現在問題としているのは、二つあるソースコードの内の下の方です。
上の方は書き方を確認して戴ければと思います。
検証できれば良いのですが、DBが完成しておらず出来ない為確認だけしたのが現状です。
該当のソースコード
<div class="proimg">
<img src="../picture/logo.png" class="img1">
<img src="../picture/logo.png" class="img2">
<img src="../picture/logo.png" class="img2">
</div>
<div class="protext">
<table align = "center" id="loginTable">
<form method="POST" action=""> <!-- 処理するservletの場所とメソッド名を記載 -->
<tr>
<th>ログインID</th>
<th><INPUT type="text" NAME="loginID"></th> <!-- リンク先と変数名を揃える *変数の受け渡し* -->
</tr>
<tr>
<th>パスワード</th>
<th><INPUT type="text" NAME="password"></th> <!-- リンク先と変数名を揃える *変数の受け渡し* -->
</tr>
</form>
</table>
<section class="prise"><a>価格:</a>
<form method="POST" action=""> <!-- 処理するservletの場所とメソッド名を記載 -->
<%= request.getAttribute( "price" ) %>(税込) <!-- リンク先と変数名を揃える *変数の受け取り* -->
</form>
</section>
<section class="size">
<form method="POST" action=""> <!-- 処理するservletの場所とメソッド名を記載 -->
サイズ:<select name="size"> <!-- リンク先と変数名を揃える *変数の受け渡し* -->
<option value="4" selected>S</option>
<option value="5">M</option>
<option value="6">L</option>
</select>
</form>
</section>
<section class="stock">
<form method="POST" action=""> <!-- 処理するservletの場所とメソッド名を記載 -->
在庫数:<%= request.getAttribute( "stock" ) %> <!-- リンク先と変数名を揃える *変数の受け取り* -->
</form>
</section>
<section class="addOrder"><a href="CartUI.jsp">注文票に追加</a></section>
</div>
画像のパスの受け取りはこう・・・?
<!-- 本来の画像の出し方 -->
<a href="toppage.jsp"><img src="../picture/NewLogo.png" width="" height=""></a>
<!-- こうで良いのか・・? -->
<a href="toppage.jsp"><img src="
<form method="POST" action=""><%= request.getAttribute( "stock" ) %></form>
" width="" height=""></a>
補足情報(言語/FW/ツール等のバージョンなど)
言語:HTML、Java
質問者:新人、未経験者
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
+1
なんかタグがおかしいですね
まずはimgタグだけで画像が表示できることを確認し、次に進めてみてください。
<img src="<%= request.getAttribute("<name>") %>">
<name>
部分はservlet側でsetAttributeした画像パスのnameです。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.32%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2016/06/02 12:26
<form method="POST" action=""></form>は要らないのですね。
パスの指名をしているのだから、どのServletのメソッドから持って来ているのか、というのは要らないという認識で合っていますでしょうか?
2016/06/02 14:00
すみません後の質問は意味が読み取れないです。。。
当該の画像を表示するjspはservletからForwardされると思います。
そのservlet内で画像のパスをHttpServletRequestにsetAttributeして、jsp側でgetAttributeして表示しようとしているのではないでしょうか?
2016/06/02 16:40
formタグが要らない理由を私なりの解釈をしてみました。
恐らくそうです。
恐らく、と付くのは私の技量不足のせいで多分理解できている、という程度だからです。
ServletでからJSPにタグを渡してJSPで表示させたかったので、合っていると思います。
ありがとうございます。