0

jsp ページに HTML テーブルがあります。これには、テキスト フィールドとドロップダウン ボックスが含まれます。サーブレットから、 という文字列の配列リストを渡したいと思いますmyData

したがって、foreach を使用してデータを html テーブルに転送しようとしています。

<table border="1" >
  <c:forEach items="${myData}" var="result">
  <tr>
    <td><input name="from0" type="text" value="${result}"/></td>
  </tr>

  <tr>
     <td>
    <select name="from8" id="from8" value="${result}">
       <option>Yes</option>
       <option>No</option>
    </select>
      </td>
  </tr>
  </c:forEach>
</table>

arraylist は、文字列の単純な配列リストです。

ArrayList<String> output = new ArrayList<String>();
//populate arraylist with values here

//forward the arraylist of strings
request.setAttribute("myData ", output);
request.getRequestDispatcher("Home.jsp").forward(request, response);

残念ながら、出力では複数のテーブルが生成され、その値はすべて配列リストの各要素に対応しています。

4

1 に答える 1

1

いただいた情報に基づいて、あなたの状況を回復しようとしました。正直、私にはそれができませんでした。これが回復のための私の試みです:

<%
    ArrayList output = new ArrayList();
    output.add("Yes");
    output.add("No");
    request.setAttribute("myData", output);
%>
<table border="1">
  <c:set var="counterVar" value="0"/> //added because form field names and ids -in genral- must be unique.
  <c:forEach items="${myData}" var="result">
  <tr>
    <td><input name='from<c:out value="${counterVar}"/>_text' type="text" value='<c:out value="${result}"/>'></td>
  </tr>

  <tr>
     <td>
    <select name='from<c:out value="${counterVar}"/>_select' id='from<c:out value="${counterVar}"/>' value='<c:out value="${result}"/>'>
       <option value="Yes">Yes</option>
       <option value="No">No</option>
    </select>
      </td>
  </tr>
  <c:set var="counterVar" value="${counterVar + 1}"/>
  </c:forEach>
</table>

これにより、見栄えの良いテーブルが生成されます。あなたの問題へのリンクの例を提供できますか?

于 2012-07-02T13:53:16.727 に答える