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

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

ただいまの
回答率

90.47%

  • Java

    16164questions

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

  • Eclipse

    1963questions

    Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

  • JSP

    1048questions

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

  • servlet

    532questions

    Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

  • Java EE

    418questions

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

jspとサーブレットを使って、会員登録フォーム作りたい

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 1,795

RyoM

score 79

お世話になります。
jspとサーブレットを使って、会員登録フォームを作りたいんですが、valueの値が重複してしまい、サーブレットにうまく渡せません。valueの値を変えればいいだけだとは思うんですが、そのデータのままデータベースに登録したいなと考えているので、何かいい方法はありませんでしょうか?
もしくは、valueの値を変え、サーブレットで取得する際に値を変化させるのはどうすればいいでしょうか?
回答よろしくお願いいたします。
以下がjspのソースコードです。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript" src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="//jpostal.googlecode.com/svn/trunk/jquery.jpostal.js"></script>
<!-- ================================================== -->
    <!-- ▼郵便番号や各種住所の入力欄に関するID名を指定する -->
    <!-- ================================================== -->
    <script type="text/javascript">
        $(window).ready( function() {
            $('#postcode1').jpostal({
                postcode : [
                    '#postcode1',
                    '#postcode2'
                ],
                address : {
                    '#address1'  : '%3',
                    '#address2'  : '%4%5'
                }
            });
        });
    </script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>会員登録フォーム</title>
</head>
<body>

<H1>会員登録フォーム</H1>
<P>ユーザーID</P>
<FORM ACTION="../InsertDb" method="get">
<INPUT type="text" name="user">
<P>名前</P>
<INPUT type="text" name="name1">
<P>名前(フリガナ)</P>
<INPUT type="text" name="name2">
<P>苗字</P>
<INPUT type="text" name="name3">
<P>苗字(フリガナ)</P>
<INPUT type="text" name="name4">
<P>パスワード</P>
<INPUT type="password" name="pass">
    郵便番号:
        〒<input type="text" name="postcode1" maxlength="3"> - <input type="text" name="postcode2" maxlength="4"><br />

        都道府県:
        <select name="prefecture">
            <option value="0" selected>(未選択)</option> 
            <option value="1">北海道</option>
            <option value="2">青森県</option>
            <option value="3">秋田県</option>
            <option value="4">岩手県</option>
            <option value="5">山形県</option>
            <option value="6">宮城県</option>
            <option value="7">福島県</option>
            <option value="8">茨城県</option>
            <option value="9">栃木県</option>
            <option value="10">群馬県</option>
                   省略
        </select><br />

        市区町村:
        <input type="text" name="citytown"><br />

        番地など:
        <input type="text" name="lastaddress"><br />
<P>生年月日</P>
<select name="select">
<option value="">--</option>
<option value="1900">1900</option>
<option value="1901">1901</option>
<option value="1902">1902</option>
          省略
</select><select name="month">
<option value="">--</option>
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
<option value="04">4</option>
<option value="05">5</option>
<option value="06">6</option>
<option value="07">7</option>
<option value="08">8</option>
<option value="09">9</option>
<option value="010">10</option>
<option value="011">11</option>
<option value="12">12</option>
</select><SELECT name="day">
<option value="">--</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select><P>性別</P>
<INPUT type="radio" name="sex" value="1" checked="checked"><INPUT type="radio" name="sex" value="2" /><P>メールアドレス</P>
<INPUT type="text" name="address1"><BR>
<INPUT type="text" name="address1">
<P>携帯電話番号</P>
<INPUT type="text" name="address1">
<P>配偶者</P>
<INPUT type="radio" name="partner" value="1">あり
<INPUT type="radio" name="partner" value="2" checked="checked">なし
<TABLE>
    <tr>
        <th colspan="2">職業を選択してください。</th>
    </tr>
    <tr>
    <th>職業</th>
    <td>
    <select name="syokugyo" onchange="javascript:changeSyokugyo()">
    <option value="0">--</option>
    <option value="1">会社経営・自営</option>
    <option value="2">自営業</option>
    <option value="3">会社員(役員)</option>
    <option value="4">会社員(管理職)</option>
    <option value="5">会社員(一般社員)</option>
    <option value="6">契約社員・派遣社員</option>
    <option value="7">専門職(医師・弁護士など)</option>
    <option value="8">公務員</option>
    <option value="9">専業主婦・主夫・家事手伝い</option>
    <option value="10">学生</option>
    <option value="11">パート・アルバイト</option>
    <option value="12">その他</option></select>
    </td>
    </tr>
    <tr>
    <th colspan="2">趣味を選択してください。(複数選択可)</th>
    </tr>
    <tr>

    <th>趣味</th>
    <td>
    <table><tr><td><input type="checkbox" name="syumi" value="1"><label for="1">健康・医療</label></td>
    <td><input type="checkbox" name="syumi" value="2"><label for="2">教育・育児</label></td></tr>
    <tr><td><input type="checkbox" name="syumi" value="3"><label for="3">料理・家事</label></td>
    <td><input type="checkbox" name="syumi" value="4"><label for="4">SNSの利用(Facebook、mixiなど)</label></td></tr>
    <tr><td><input type="checkbox" name="syumi" value="5"><label for="5">食べ歩き・グルメ探求</label></td>
    <td><input type="checkbox" name="syumi" value="6"><label for="6">買い物・ネットショッピング</label></td></tr>
    <tr><td><input type="checkbox" name="syumi" value="7"><label for="7">パソコン・インターネット</label></td>
    <td><input type="checkbox" name="syumi" value="8"><label for="8">音楽鑑賞</label></td></tr>
    <tr><td><input  type="checkbox" name="syumi" value="9"><label for="9">映画鑑賞・ビデオ/DVD観賞</label></td>
    <td><input type="checkbox" name="syumi" value="10"><label for="10">カラオケ</label></td></tr>
    <tr><td><input type="checkbox" name="syumi" value="11"><label for="11">読書</label></td>
    <td><input type="checkbox" name="syumi" value="12"><label for="12">語学・資格</label></td></tr>
    <tr><td><input  type="checkbox" name="syumi" value="13"><label for="13">株式投資</label></td>
    <td><input type="checkbox" name="syumi" value="14"><label for="14">ペット</label></td></tr>
    <tr><td><input type="checkbox" name="syumi" value="15"><label for="15">ファッション</label></td>
    <td><input type="checkbox" name="syumi" value="16"><label for="16">美容・エステ</label></td></tr>
    <tr><td><input type="checkbox" name="syumi" value="17"><label for="17">リラクゼーション</label></td>
    <td><input type="checkbox" name="syumi" value="18"><label for="18">ダイエット・ヘルスケア</label></td></tr>
    <tr><td><input type="checkbox" name="syumi" value="19"><label for="19">スポーツ</label></td>
    <td><input type="checkbox" name="syumi" value="20"><label for="20">アウトドア</label></td></tr>
    <tr><td><input type="checkbox" name="syumi" value="21"><label for="21">ドライブ</label></td>
    <td><input type="checkbox" name="syumi" value="22"><label for="22">旅行</label></td></tr>
    <tr><td><input type="checkbox" name="syumi" value="23"><label for="23">DIY・日曜大工</label></td>
    <td><input type="checkbox" name="syumi" value="24"><label for="24">園芸・ガーデニング</label></td></tr>
    <tr><td><input type="checkbox" name="syumi" value="25"><label for="25">エコ・ロハス</label></td>
    <td><input type="checkbox" name="syumi" value="26"><label for="26">インテリア</label></td></tr>
    <tr><td><input type="checkbox" name="syumi" value="27"><label for="27">カメラ・写真撮影</label></td>
    <td><input type="checkbox" name="syumi" value="28"><label for="28">ゲーム</label></td></tr><tr>
    <td><input type="checkbox" name="syumi" value="29"><label for="29">マンガ・アニメ</label></td>
    <td><input type="checkbox" name="syumi" value="30"><label for="30">パチンコ・パチスロ</label></td></tr></table>
    </td>
    </tr>
</TABLE>
<INPUT type="reset">
<INPUT type="submit">
</FORM>
</body>
</html>
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • flied_onion

    2016/08/15 08:43

    「valueの値が重複してしまい」がよくわからず、起きている問題を把握できませんでした。
    現状ではサーブレットにどう渡ってしまうんでしょう。また例えばどう直せばどう改善するとかんがえているのでしょうか。

    あと、labelのforの値はinputタグのIDを設定するので、valueと同じ値を設定するものではありません。
    forをなくして、labelの内側にinputタグを書くか、各Inputタグに一意になるid属性を設定して、labelのforにはその値を設定してあげてください。

    キャンセル

  • RyoM

    2016/08/15 16:38

    説明が足りず、申し訳ありません。
    例えば、誕生日の日を選んでもらう場合、1日だとするとvalueの値を1に設定していますが、職業を選択してもらう箇所でも会社・経営を選ばれるとvalueの値が1になってしまうんです。それを送信して、とりあえずサーブレットで表示をするとうまくデータが伝わらないので、このvalueの値を重複しないように変えてあげれば問題はないと思っているんですが、このままの状態で、syokugyouのvalueみたいな感じで別のデータであると認識させるにはどうすればいいのでしょうか?

    キャンセル

回答 1

checkベストアンサー

0

重複する(同名の)パラメータは、address1とsyumiでしょうか。

その場合は、以下のようにすることで同名のパラメータが複数ある場合でも取得できます。

// 趣味チェックボックスの取得
String[] syumi = request.getParameterValues("syumi");

// 住所テキストの取得
String[] address1 = request.getParameterValues("address1");

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 90.47%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • Java

    16164questions

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

  • Eclipse

    1963questions

    Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

  • JSP

    1048questions

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

  • servlet

    532questions

    Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

  • Java EE

    418questions

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