Jsp 如何使用setAttribute()从设置为bean的数组列表中获取值?

Jsp 如何使用setAttribute()从设置为bean的数组列表中获取值?,jsp,servlets,struts-1,Jsp,Servlets,Struts 1,这是使用setAttribute设置数组列表的代码 @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { PrintWriter out; out = response.getW

这是使用setAttribute设置数组列表的代码

@Override
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) throws Exception {
        PrintWriter out;
        out = response.getWriter();
        dbc.openConnection();
        travelDetails = new java.util.ArrayList();
        HttpSession session = request.getSession(true);
        if ("OK".equals(session.getAttribute("login"))) {
            String sValue = String.valueOf(session.getAttribute("status"));
            String employeeId = String.valueOf(session.getAttribute("employeeId"));
            TravelSettlement ts = (TravelSettlement) form;
            TravelBean tBean;
            String travelId = "";
            travelId = ts.getCheckedValue()[0];
            session.setAttribute("travelSId", travelId);
            dateDetails = new java.util.ArrayList();
            travelId1 = new java.util.ArrayList();
            String query1 = "select td.travel_id,td.date,td.mode,td.travel_from,td.travel_to,td.purpose from travel_details td,travel_master tm where td.travel_id=tm.travel_id and td.travel_id='" + travelId + "'";
            ResultSet rs1 = dbc.processSelect(query1);
            while (rs1.next()) {
               String date = "";
               String mode = "";
               String travel_from = "";
               String travel_to = "";
               String purpose = "";
               tBean = new TravelBean();
               TravelBean tb1 = new TravelBean();
               long travel_Id = Long.valueOf(rs1.getString(1));
               tBean.setTravelId(travel_Id);
               Bean.setDate(DateUtil.stringToSQLDateFormat(rs1.getString(2), "yyyy-MM-dd", "dd-MM-yyyy"));
               tBean.setMode(rs1.getString(3));
               tBean.setTravelFrom(rs1.getString(4));
               tBean.setTravelTo(rs1.getString(5));
               tBean.setPurpose(rs1.getString(6));
               travelDetails.add(tBean);
               dateDetails.add(tBean);
               travelId1.add(travelId);
            }
            request.setAttribute("travelId", travelId1);
            request.setAttribute("dateDetails", dateDetails);
            session.setAttribute("travelDetails", travelDetails);
            return mapping.findForward("edit_request");
        } else {
        return mapping.findForward("error");
    }

}
这是我的JSP代码,我在这里访问bean数组数据

<html>
<body>
    <table width="100%" cellpadding="0" cellspacing="0" align="center" border="0" id="myTable">
    <script>
       var i = 0;
       var name="#tbodyId"+i;
    </script>
    <logic:iterate id="dateDetails" name="dateDetails">
       <tbody>
           <tr>
              <logic:lessThan property="date" name="dateDetails" value="2">
               <td width="14%" >
                 <html:text property="date" name="dateDetails" size="12" readonly="false" styleClass="hometext" />&nbsp;
                 <img src="./images/cal.gif" alt="calender" onclick="displayCalendar(document.forms[0].date[0], 'dd-mm-yyyy', this)"/>
               </td>
             </logic:lessThan>
             <logic:greaterEqual property="date" name="dateDetails" value="1">
              <td width="12%" >
                 <html:text property="date" name="dateDetails" size="12" readonly="false" styleClass="hometext" />&nbsp;
                 <img src="./images/cal.gif" alt="calender" onclick="displayCalendar(document.forms[0].date[i++], 'dd-mm-yyyy', this)"/>
              </td>
             </logic:greaterEqual>
               <td width="12%" class="tbldata" >
                 <html:select property="mode" styleClass="hometext" name="dateDetails">
                   <html:options name="modeOption" labelName="modeValue"/>
                 </html:select>
                </td>
                <td width="15%" class="tbldata" align="center"><html:text property="travelFrom" name="dateDetails"/></td>
                <td width="13%" class="tbldata" align="center"><html:text property="travelTo" name="dateDetails"/></td>
                <td class="tbldata">
                   <html:textarea property="purpose" name="dateDetails" rows="2" cols="20" styleClass="textarea" onchange="ajaxDateCheckValue()"/>
                </td>
                <td width="15%" class="tbldata" align="center">
                   <button type="button" onclick="setHidden()">Update</button>
                </td>
             </tr>
           </tbody>
        </logic:iterate>
     </table>
</body>
 </html>

var i=0;
var name=“#tbodyId”+i;
更新

我想使用该数组将用户编辑的详细信息更新到数据库中,数组名为(dateDetails)。

在JSP中使用我们谈论的是什么Arraylist?在当前场景中,如何处理用户更新的属性?@ShivamAggarwal dateDetails是一个Arraylist,我将bean属性设置到while循环中,并将bean对象添加到ArrayList(dateDetails),您可以在代码的第一部分看到,请帮助我,谢谢……是的,它正在迭代ArrayList,并且正在获取ArrayList中的所有元素,但是我需要用相同的ArrayList将用户的编辑细节更新到数据库中,因为ArrayList中的元素是动态的,ArrayList(即dateDetails)不在bean类中,否则我可以使用getter方法来获取元素。