2010-12-08 16 views
1

私のアプリケーションでは、選択した項目を1つずつ移動する2つのリストボックスを使用しています。私はデータベースからリストボックスに値を割り当てることを知っている。しかし、私はどのようにhtmlフィールドにJavaファイルから文字列の配列の値を割り当てるか分からない。私の 'record.java' は、私は次のコードを持っている:JSPリストボックスとサーブレット

public class Report 
{ 
    private static String[] types = { 
     "Value1", 
     "Value2" 
    }; 

    private static String[] fields = { 
     "number1", 
     "number2" 
    }; 

    public static String[] getList() { 
     return types; 
    } 

    public static String getFieldName(String description) { 
     for(int i=0; i< fields.length; i++) { 
      if (description.compareToIgnoreCase(types[i]) ==0) 
       return fields[i]; 
     } 
     return ""; 
    } 
} 

を、次のように私は私の 'chart.jsp' ファイルを持っている:

<form method="post"> 
      <fieldset> 
       <legend>Chart Data</legend> 
       <br/> 
       <br/> 
       <table > 
        <tbody> 
         <tr> 
          <td> 
           <select name="data" size="5" id="s"> 
           <option value=""></option> 
           </select> 
          </td> 
          <td> 
           <input type="submit" value="<<"/> 
          </td> 
          <td> 
           <select name="data" size="5" id="d"> 
           <option value=""></option> 
           </select></td> 
         </tr> 
        </tbody> 
       </table> 
       <br/> 
      </fieldset> 
      <input class="submit" type="submit" value="Submit" /> 
     </form> 

私はJSPに新しいです。どのようにこれを行うに手伝ってくれる? はgetterメソッドが静的ではありません....

答えて

4

をありがとう:

public String[] getList() { 
    return types; 
} 

Reportのインスタンスは、サーブレットのdoGet()方法でリクエストスコープに配置する必要があります:

Report report = loadItSomehow(); 
request.setAttribute("report", report); 
request.getRequestDispatcher("page.jsp").forward(request, response); 

これにより、JSP ELで${report}として利用可能になり、リストは${report.list}として利用可能になります。 JSTL c:forEachを使用して配列を反復処理するか、Listを使用することができます。

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
... 
<select name="types" size="5"> 
    <c:forEach items="${report.list}" var="type"> 
     <option value="${type}">${type}</option> 
    </c:forEach> 
</select> 

あなたは独立した入力要素に同じ名前を与えないように注意してください。

+0

ありがとうございました。Balus ....本当に助けてくれました。 – Maya

関連する問題