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

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

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

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

JSP

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

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

3543閲覧

一つのサーブレットで複数のjspファイルに遷移するには???

cococcc

総合スコア1

Java EE

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

JSP

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

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2022/05/27 02:40

一つのサーブレットから三つjspファイルに遷移するIF文が思いつきません教えていただけると幸いです。
遷移の順序としましてはmenu.jspからItemListServletを介してitem-list.jsp、cart.jsp、orderhitryにボタン一つずつで移動したいです。
環境は
・JSP
・Java
・Tomcat
・MYSQLです。

menu.jsp

1<%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3<!DOCTYPE html> 4<html> 5<head> 6<meta charset="UTF-8"> 7<title>メニュー</title> 8</head> 9<body> 10 <h1>メニュー画面</h1> 11 <form action="itemlistservlet" method="POST"> 12 <input type="submit" value="商品一覧"> 13 </form> 14 <form action="" method="POST"> 15 <input type="submit" value="カート表示"> 16 </form> 17</body> 18</html>

ItemListServlet.java

1package servlet; 2 3import java.io.IOException; 4import java.util.List; 5 6import javax.servlet.RequestDispatcher; 7import javax.servlet.ServletException; 8import javax.servlet.annotation.WebServlet; 9import javax.servlet.http.HttpServlet; 10import javax.servlet.http.HttpServletRequest; 11import javax.servlet.http.HttpServletResponse; 12import javax.servlet.http.HttpSession; 13 14import model.dao.UserDAO; 15import model.entity.UserBean; 16 17@WebServlet("/itemlistservlet") 18public class ItemListServlet extends HttpServlet { 19 private static final long serialVersionUID = 1L; 20 21 /** 22 * @see HttpServlet#HttpServlet() 23 */ 24 public ItemListServlet() { 25 super(); 26 // TODO Auto-generated constructor stub 27 } 28 29 /** 30 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse 31 * response) 32 */ 33 protected void doGet(HttpServletRequest request, HttpServletResponse response) 34 throws ServletException, IOException { 35 // TODO Auto-generated method stub 36 response.getWriter().append("Served at: ").append(request.getContextPath()); 37 } 38 39 /** 40 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse 41 * response) 42 */ 43 protected void doPost(HttpServletRequest request, HttpServletResponse response) 44 throws ServletException, IOException { 45 46 47 String url = null; // 画面遷移先 48 49 // セッションオブジェクトの取得 50 HttpSession session = request.getSession(); 51 52 // ログイン認証済みかどうかを確認 53 if (session.getAttribute("customer_id") != null) { 54 // 認証 55 try { 56 UserDAO userDao = new UserDAO(); 57 List<UserBean> userList = userDao.itemAll(); 58 request.setAttribute("userList", userList); 59 url = "item-list.jsp"; 60 } catch (Exception e) { 61 e.printStackTrace(); 62 } 63 64 } else { 65 // 未承認 66 url = "login.html"; 67 } 68 69 70 71 // リクエストの転送 72 RequestDispatcher rd = request.getRequestDispatcher(url); 73 rd.forward(request, response); 74 } 75 76}

cart.jsp

1<%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3<!DOCTYPE html> 4<html> 5<head> 6<meta charset="UTF-8"> 7<title>カート画面</title> 8</head> 9<body> 10 <h1>カート画面</h1> 11 12 13<!--TODO リスト名変更 14 <% 15 HttpSession session.request.getSession(); 16 List<UserBean> cartList = (List<UserBean>) session.getAttribute("cartList"); 17 18 if (cartList.size() != 0) { 19 %> 20 21 <h3>カート内商品一覧</h3> 22 23 <table> 24 <tr> 25 <th>商品名</th> 26 <th>数量</th> 27 <th>価格</th> 28 </tr> 29 30 <% 31 for (UserBean user : cartList) { 32 %> 33 <tr> 34 <td><%=user.getItem_nm()%></td> 35 <td><%=user.get ()%></td> 36 <td><%=user.get ()%></td> 37 38 </tr> 39 <% 40 } 41 %> 42 </table> 43 44 45 合計:<%=user.get ()%> 46 (内消費税:<%=user.get ()%>) 47 <% 48 } else { 49 %> 50 カート内に商品がありません。 51 <br> 52 <% 53 } 54 %> 55 56 --> 57 58 59 60 <form action="CartServlet" method="POST"> 61 <input type="submit" value="レジへ進む"> 62 </form> 63 <button type="button" onclick="history.back()">戻る</button> 64</body> 65</html>

よろしくお願いいたします。

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

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

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

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

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

cococcc

2022/05/27 04:58

同じ人です。申し訳ございません。
dodox86

2022/05/27 05:06

私に謝る必要はありませんが、同一人物による複数アカウントは規約で禁止されています。 [利用規約] https://teratail.com/legal > 第7条(禁止事項) > 登録ユーザーは、本サービスの利用にあたり、以下の各号のいずれかに該当する行為または該当すると当社が判断する行為をしてはなりません。 ... > (11) 複数のユーザーIDを1人で保有する行為
guest

回答1

0

ベストアンサー

やりたいことは下記の2つと読み取りました。
・画面上のどのボタンをクリックしてもItemListServletを介したい
・遷移先のJSPをクリックしたボタンに応じて変更したい

buttonタグを使用してsubmitボタンを作成すれば、name(パラメーター名)とvalue(値)をフォーム送信できるようになります。

menu.jsp

1<%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3<!DOCTYPE html> 4<html> 5<head> 6<meta charset="UTF-8"> 7<title>メニュー</title> 8</head> 9<body> 10 <h1>メニュー画面</h1> 11 <form action="/tomcatTest/itemlistservlet" method="POST"> 12 <button type="submit" value="item_list" name="clicked">商品一覧</button> 13 <button type="submit" value="cart" name="clicked">カート表示</button> 14 </form> 15</body> 16</html>

値は request.getParameterで受け取ってください。

ItemListServlet.java

1protected void doPost(HttpServletRequest request, HttpServletResponse response) 2 throws ServletException, IOException { 3 4 switch(request.getParameter("clicked")) { 5 case "item_list" : 6 /* 何かしらの処理 */ 7 case "cart" : 8 /* 何かしらの処理 */ 9 default : 10 break; 11 } 12}

投稿2022/05/27 12:01

編集2022/05/27 12:05
ho-ta-te

総合スコア112

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問