1

私はJSPを初めて使用するので、あまりわかりません。それで、私の要件を明確にしましょう。

以下のようなプログラムがありFirst.jsp、配列を持つがあるとしMatch_List[5]ます。

String[] Match_List; 
Match_List[] = {a, b, c, d, e};

<form name="Team_Playerdetails" method="post" action="db_Match_Edit.jsp"> 
  <TABLE> 
  <% for (int j = 0; j < 10; j++) { %>  
    <TR>    
      <TD> 
        <SELECT name="Stat_Match_name"> 
        <% for (int i = 0; i < 5; i++) { %> 
          <option> 
            <% out.println(Match_List[i][1]); %> 
          </option> 
        <% } %> 
        </SELECT> 
      </TD> 
    </TR> 
  <% } %> 
  </TABLE> 
  <input type="submit" name="submit" value="Add All" tabindex="10" class="button" /> 
</form> 

上記のこのフォームには、同じドロップダウンリストが10回表示されます。これらの10個のリストから次のようにさまざまなオプションを選択したいと思います。

List_1 Option: a 
List_2 Option: d 
List_3 Option: e 
List_4 Option: b 
List_5 Option: c 
..... 
List_10 Option: d 

ここで、ユーザーが送信ボタンをクリックしたら、変数をに移動する必要がありますdb_Match_Edit.jsp。ここに、値をキャッチするためのコードがあります。

U_Stat_Match_name = request.getParameter("Stat_Match_name");

しかし、10個のドロップダウンオプションすべてが同じ選択変数名に捕らえられているためですStat_Match_name。したがってdb_Match_Edit.jsp、で最後に選択されたオプションのみを取得していますU_Stat_Match_name

db_Match_Edit.jspしかし、配列内のjspで選択された10個のオプションすべてが必要です。

4

1 に答える 1

0

どちらかを使用してHttpServletRequest#getParameterValues()ください:

String[] statMatchNames = request.getParameterValues("Stat_Match_name");
// ...

または、反復インデックスに基づいてそれぞれに一意の値を指定します。

<select name="Stat_Match_name_<%=j%>"> 

次のように個別に取得します。

for (int j = 0; j < 10; j++) {
    String statMatchName = request.getParameter("Stat_Match_name_" + j);
    // ...
}

具体的な問題とは関係なく、この古い学校のJSPコードスタイルは、おそらく10年以上前の非常に古いリソースによってJSPを学習していることを示唆しています。最近の健全な学習リソースに集中することをお勧めします。JSPファイルでJavaコードを回避する方法から始めますか?次に、JSPwikiページを読みます。

于 2013-01-04T13:45:18.173 に答える