0

JSPページのコードを以下に示しました。下のテキスト ボックスからすべての値を DB に保存できます。ただし、フィールドを保存するために、サーブレット (request.getParameter()) で各テキスト ボックス名を読み取ります。このコードを改善することは可能ですか? たとえば、特定の 1 つの列のすべての値を配列に保存し、db に保存します。もし、そうなら; 私に役立つ例を示してください。また、行が空の場合に無視する方法。たとえば、ユーザーは 2 つの行だけを埋め、残りの行は空です。DB に最初の 2 行だけを保存したい。

<table class="cmn-table" id="t1" border="1" style="margin-left: 0.2em; margin-    right:0em">
 <col width="5%">
   <col width="18%">
   <col width="18%">
   <col width="18%">
   <col width="18%">
   <col width="18%">
  <tr>    
   <th>Sl.No</th>
   <th>Source IP Address</th>
   <th>Destination IP Address</th>
   <th>Service and Port (TCP, UDP, etc.)</th>
   <th>Start Date</th>
   <th>Expiration Date</th>
   </tr>
  <tr>
  <td style="align:center"> 1 </td>
 <td><input type="text" name="name" id="name" size="20"> </td>
  <td><input type="text" name="name1" id="name1" size="20"> </td>
  <td><input type="text" name="name2" id="name2" size="20"> </td>
  <td><input type="text" name="name3" id="name3" size="15"> <img src="../Image/cal.gif" id="" style="cursor: pointer;" onclick="javascript:NewCssCal('name3','MMddyyyy','dropdown',false,'12')" /></td>
  <td><input type="text" name="name4" id="name4" size="15"><img src="../Image/cal.gif" id="" style="cursor: pointer;" onclick="javascript:NewCssCal('name4','MMddyyyy','dropdown',false,'12')" /> </td>
  </tr>
   <tr>
  <td style="align:center"> <label> 2 </label> </td>
  <td><input type="text" name="name5" id="name" size="20"> </td>
  <td><input type="text" name="name6" id="name" size="20"> </td>
  <td><input type="text" name="name7" id="name" size="20"> </td>
  <td><input type="text" name="name8" id="name3" size="15"> <img src="../Image/cal.gif" id="" style="cursor: pointer;" onclick="javascript:NewCssCal('name3','MMddyyyy','dropdown',false,'12')" /></td>
  <td><input type="text" name="name9" id="name4" size="15"><img src="../Image/cal.gif" id="" style="cursor: pointer;" onclick="javascript:NewCssCal('name4','MMddyyyy','dropdown',false,'12')" /> </td>
  </tr>
   <tr>
   <td> <label> 3 </label> </td>
  <td><input type="text" name="name10" id="name" size="20"> </td>
  <td><input type="text" name="name11" id="name" size="20"> </td>
  <td><input type="text" name="name12" id="name" size="20"> </td>
 <td><input type="text" name="name13" id="name3" size="15"> <img src="../Image/cal.gif" id="" style="cursor: pointer;" onclick="javascript:NewCssCal('name3','MMddyyyy','dropdown',false,'12')" /></td>
  <td><input type="text" name="name14" id="name4" size="15"><img src="../Image/cal.gif" id="" style="cursor: pointer;" onclick="javascript:NewCssCal('name4','MMddyyyy','dropdown',false,'12')" /> </td>
  </tr>
   <tr>
   <td> <label>4 </label> </td>
  <td><input type="text" name="name15" id="name" size="20"> </td>
  <td><input type="text" name="name16" id="name" size="20"> </td>
  <td><input type="text" name="name17" id="name" size="20"> </td>
 <td><input type="text" name="name18" id="name3" size="15"> <img src="../Image/cal.gif" id="" style="cursor: pointer;" onclick="javascript:NewCssCal('name3','MMddyyyy','dropdown',false,'12')" /></td>
  <td><input type="text" name="name19" id="name4" size="15"><img src="../Image/cal.gif" id="" style="cursor: pointer;" onclick="javascript:NewCssCal('name4','MMddyyyy','dropdown',false,'12')" /> </td>
  </tr>
     <tr>
    <td> <label>5 </label> </td>
  <td><input type="text" name="name20" id="name" size="20"> </td>
  <td><input type="text" name="name21" id="name" size="20"> </td>
  <td><input type="text" name="name22" id="name" size="20"> </td>
  <td><input type="text" name="name23" id="name3" size="15"> <img src="../Image/cal.gif" id="" style="cursor: pointer;" onclick="javascript:NewCssCal('name3','MMddyyyy','dropdown',false,'12')" /></td>
  <td><input type="text" name="name24" id="name4" size="15"><img src="../Image/cal.gif" id="" style="cursor: pointer;" onclick="javascript:NewCssCal('name4','MMddyyyy','dropdown',false,'12')" /> </td>
  </tr>

</table>
4

1 に答える 1

1

私が理解している限り、すべての入力フィールドで request.getParameter を呼び出すのをやめたいと思っています。

以下を使用しない理由:

request.getParameterMap()

これにより、すべてのパラメーター名と値のマップが得られます。したがって、マップを反復処理できます。マップ内のキーはパラメーター名であり、そのキーの値はそのパラメーターの値です。マップ上の単純な反復です。マップを反復しながら、null チェックなどの他のチェックに基づいて DB クエリを実際に準備することもできます。

于 2013-06-26T19:27:13.567 に答える