一つのサーブレットから三つ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>
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー