それぞれのリンクをクリックしてPOST送信し、パラメータの値によって表示するページを変えたいのですが、ページが遷移しません。クリックしてもURLの後ろに「#」がつくだけです。
また、caseの書き方もいまいちわからず取得した値に「""」はいらないでしょうか?
参考にしたのは下記のサイトです。
https://okwave.jp/qa/q2786605.html
どなたかご教授お願いいたします。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>select</title> </head> <body> <form name="form1" method="post" action="Transfer"> <input type="hidden" name="value" value="regist"> <a href="#" onClick="document.form1.submit();">登録</a> </form> <form name="form1" method="post" action="Transfer"> <input type="hidden" name="value" value="searchName"> <a href="#" onClick="document.form1.submit();">検索</a> </form> </body> </html>
package Book; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class Transfer */ @WebServlet("/Transfer") public class Transfer extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } /** * * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response, String regist, String search) throws ServletException, IOException { String value = request.getParameter("value");//パラメータ取得 switch(value){ case "regist": request.getRequestDispatcher("regist.jsp").forward(request, response); break; case "searchName": request.getRequestDispatcher("searchName.jsp").forward(request, response); break; } } }
開発環境
OS windows10
エディション enterprise
言語 java8.0.1310.11
MariaDB10.1
HeidiSQL
eclipse NEON
JSPフォーム1、2を追記しました。 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>select</title> </head> <body> <form name="form1" method="post" action="Transfer"> <input type="hidden" name="value" value="regist"> <a href="#" onClick="document.form1.submit();">登録</a> </form> <form name="form2" method="post" action="Transfer"> <input type="hidden" name="value" value="searchName"> <a href="#" onClick="document.form2.submit();">検索</a> </form> </body> </html>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/02 07:31