パラメータ配列(JSP⇒JSP自分自身)



JSP でパラメータ配列の受け渡し。
また JSP から JSP(自分自身)を呼び出します。

前田稔の超初心者のプログラム入門

プログラムの作成

  1. JSP からパラメータ配列を送って、JSP(自分自身)で表示します。
    私はアプリケーションの開発用に webapps の下に hoge のフォルダーを作成しました。
    ソースプログラム Values.jsp を hoge\jsp のフォルダーに格納して下さい。
    +hoge
        +jsp
            ・Values.jsp
    
  2. Values.jsp のソースコードです。
    <%@ page contentType="text/html; charset=Shift_JIS" %>
    <%
      String name= request.getParameter("name");
      if (name!=null)
      {   name= new String(name.getBytes("8859_1"),"Shift_JIS");
          out.println(name + "<br>");
      }
      String[] fruit = request.getParameterValues("fruit");
      if (fruit!=null)
      {   for(int i=0; i<fruit.length; i++)
          {   fruit[i]= new String(fruit[i].getBytes("8859_1"),"Shift_JIS");
              out.println(fruit[i] + "<br>");
          }
      }
    %>
    
    <html>
      <body>
        <h2>名前を入力して、好きな物を選んで下さい</h2>
        <form action="Values.jsp">
          <input type="text" name="name"><br><br>
          <input type="checkbox" name="fruit" value="バナナ">バナナ<br>
          <input type="checkbox" name="fruit" value="みかん">みかん<br>
          <input type="checkbox" name="fruit" value="いちご">いちご<br>
          <input type="checkbox" name="fruit" value="りんご">りんご<br><br>
          <input type="submit" value="submit">
        </form>
      </body>
    </html>
    
  3. apache-tomcat を立ち上げて、WWW ブラウザを起動して下さい。
    次の URL を張り付けて Values.jsp を表示して下さい。
    http://localhost:8080/hoge/jsp/Values.jsp
    名前をタイプしてチェックボックスから好きなフルーツを選んで下さい。
    submit をクリックすると、渡したパラメータが表示されます。

プログラムの説明

  1. 一般的に JSP のプログラムは HTML の FORM から呼び出されます。
    今回は JSP の FORM からタイプして JSP(自分自身)を呼び出します。
    この形式は、簡単なゲームプログラムの作成に最適です。
    Values.jsp では、パラメータ配列を例にしていますが、この事とは別の話です。
  2. Values.jsp は、パラメータを受け取って表示する部分と、FORM からデータを入力する部分で構成されます。
    最初は、パラメータを受け取って表示する部分です。
    request.getParameter("name") で、name を受け取ります。
    渡される値は全て String 型で、"Shift_JIS" にコード変換して表示します。
    次にチェックボックスの選択情報を String 型の配列で受け取ります。
    受け取った fruit[] を "Shift_JIS" にコード変換して表示します。
        String name= request.getParameter("name");
        if (name!=null)
        {   name= new String(name.getBytes("8859_1"),"Shift_JIS");
            out.println(name + "<br>");
        }
        String[] fruit = request.getParameterValues("fruit");
        if (fruit!=null)
        {   for(int i=0; i<fruit.length; i++)
            {   fruit[i]= new String(fruit[i].getBytes("8859_1"),"Shift_JIS");
                out.println(fruit[i] + "<br>");
            }
        }
        
  3. FORM からデータを入力する部分です。
    text ボックスに名前をタイプして、好きなフルーツを選択して下さい。
    "submit" をクリックすると "Values.jsp"(自分自身)が呼ばれます。
    名前が "name" で、フルーツが "fruit" の配列で渡されます。
        <h2>名前を入力して、好きな物を選んで下さい</h2>
        <form action="Values.jsp">
          <input type="text" name="name"><br><br>
          <input type="checkbox" name="fruit" value="バナナ">バナナ<br>
          <input type="checkbox" name="fruit" value="みかん">みかん<br>
          <input type="checkbox" name="fruit" value="いちご">いちご<br>
          <input type="checkbox" name="fruit" value="りんご">りんご<br><br>
          <input type="submit" value="submit">
        </form>
        

Java Game Program