まみやん技術メモ

仕事でためになった情報をこまめに書いていきます。

問題を解いてservlet、html、JSP、Beanの連動の仕組みを理解する

昨日解けなかった問題が完成しました!
ソースを載せておきます。

何かアドバイス等がございましたらお気軽にコメントいただければと思います(*・ω・*)

【問題】checkBoxを3つ用意し、送信ボタンを押すと次の画面にて選んだ選択肢が表示
される。servlet、html、JSP、Beanを連動させプログラミングせよ。


●html

<html>
<head>
<meta....>
<title>チェックボックスの練習</title>
</head>
<body>
チェックボックスの練習だよ
    <form id="form1" name="form1" action="/project/teranishi" method="get">
    <input type="checkbox" name="guru-pu1" value="A">A
    <input type="checkbox" name="guru-pu1" value="B">B
    <input type="checkbox" name="guru-pu1" value="C">C
    <input type="submit">
    </form>
</body>
</html>

jsp

<%@ page language="java"contentType="text/html;charset=windows-31j"

<jsp:useBean id="answer" class="beans.MyBeans" scope="request"/>
//beansパッケージのMyBeans classをanswerという名前で使用することを宣言

<html>
<head>
<meta....>
<title>初めてのjsp</title>
</head>
<body>
あなたは
    <% String[] result=answer.getString();%>
    <% for (int i=0; i<result.length; i++){ %>
    <%=result[i] %>
    <% } %>
を選択しました。
</body>
</html>

java

package beans;

public class MyBeans{
//データ保存の為のclass
    private String[]ans;
    public MyBeans(){
       super();
  }
    public String[] getString(){
    return ans;
    }
    public void setString(String[] ans){
    this.ans = ans;
  }
}

servlet

import java.io.IOException;
public class checkbox extends HttpServlet{
…
    public checkbox(){
      super();
    }
    public void doGet(HttpServletRequest, HttpServletResponse response) throws ServletException,IOException{
    String[] guru1 = request.getParameterValues("guru-pu1");
    MyBeans beans = new MyBeans();
    beans.setString(guru1);
    request.setAttribute("answer",beans);
    request.getRequestDispatcher("/hazimeteno_jsp.jsp").forward(request,response);
    }
    
    Protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException. IOException{
    }
}