2016-10-20 4 views
0

私はドロップダウンボックスを持つフォームを持っていますが、foreachループを使用してSQLクエリから返された値を入力しています。 varStatusプロパティを使用してループのインデックスを返す必要があります。ここではコードです:提出が押されたときにforeach内のJSPオプションタグは最初の値のみを返します

<form action="response.jsp"> 
    <strong>Select a Department:</strong> 
    <select name="depts"> 
     <c:forEach var="dept" items="${departments.departments}" varStatus="loop"> 
      <option value="${loop.index}">${dept}</option> 
     </c:forEach> 
    <input type="submit" value="submit" name="submit" /> 
</form> 

ドロップダウンリストが正しく読み込まれているが、しかし、唯一の最初のインデックスは、すなわちかかわらず、オプションが選択され、そのうちの最初の値だけが返され、返されています。

戻り値を受信するコードは、インデックスの設定メソッドは、また、それは任意の差を行う場合、インデックスから導出されたクラス内の他の三つの変数の値を設定

<jsp:setProperty name="department" property="index" value="${param.loop.index}"/> 

あります。

明らかに何かを見逃してしまったかどうかはわかりませんが、助けてください。あなたが.indexを使用する場合

答えて

0

<select>タグでは、割り当てられる名前パラメータは、フォームの送信時に渡される変数の名前です。これはすなわち

<jsp:setProperty name="department" property="index" value="${param:depts}"/> 
0

それはあなたが、私は出力を表示するにに関するあなたのコード内の任意の問題が表示されていない、それは1

でカウントを開始します.countを使用する場合は0

でカウントを開始します。とにかく表示されている出力は何ですか?

+0

<jsp:setProperty>タグの値フィールドに、この名前の値は、パラメータ値として使用されるべきであることを意味する「.INDEX」値がアレイへのインデックスに使用されるように使用することが正しいものです異なる部署の名前を含んでいます。設定されているプロパティは、SQLクエリでその部門のすべての従業員を検索するために使用されるパラメータを取得するために使用されます。 – Musicgun47

関連する問題