2011-06-30 32 views
1

先生我有一個jsp文件,其中我必須顯示帶有日期和說明的註釋 由於可以有多個註釋(如調度程序中)某個特定日期,因此一次顯示多個筆記。現在我希望該用戶可以通過在複選框的幫助下檢查數據庫中的特定註釋。現在作爲音符的值是從數據庫動態發送的,我怎樣才能設置複選框的值。如何在jsp中動態設置複選框的值(值來自數據庫)

fetchcontent.java

public class CnmsDes extends HttpServlet{ 
    public void doPost.......{List list=new ArrayList(); 
     response.setContentType("text/html"); 
     PrintWriter out = response.getWriter(); 
     System.out.println("Oracle Connect Example."); 
     Connection conn = null; 
     String url = "jdbc:oracle:thin:@localhost:1521:xe"; 
     String driver = "oracle.jdbc.driver.OracleDriver"; 
     String userName = "system"; 
     String password = "mint"; 
     Statement st; 
     try { 
      Class.forName(driver).newInstance(); 
      conn = DriverManager.getConnection(url,userName,password); 
      System.out.println("Connected to the database"); 

      String ndate = request.getParameter("date"); 
      String eid = request.getParameter("empid"); 
      String strar[] = ndate.split("/"); 
      String cdate = strar[0]+"/" + strar[1]+"/"+ strar[2]; 
      if(eid==null||eid=="Enter Your Employee ID"){response.sendRedirect("viewnotes.jsp");} 
      String query = "select * from CNMS_NOTES where emp_id='"+eid+"' and note_date='"+cdate+"'"; 

      Statement stmt=conn.createStatement(); 
      ResultSet rs=stmt.executeQuery(query); 


      while(rs.next()){ 
       list.add(rs.getString("note_date")); 
       list.add(rs.getString("title")); 
       list.add(rs.getString("description")); 

      } 

     } 
     catch(Exception e){out.print(e);} 
     request.setAttribute("description",list); 
     RequestDispatcher rd = request.getRequestDispatcher("/displaynotes.jsp"); 
     rd.forward(request, response); 
    } 
} 

和displaynotes.jsp

<%@page language="java" import="java.util.*" %> 
<html> 
<body background="images/bg1.jpg"> 

<table class="t" border="1" width="650" align="center" > 
<tr><td><form> 
<tr>  
     <td width="10"><b></b></td> 
     <td width="100"><b>Date</b></td> 
     <td width="150"><b>Title</b></td> 
     <td width="100"><b>Description</b></td> 

</tr> 
     <% Iterator itr;%> 
     <% List data=(List)request.getAttribute("description"); 

      int k=data.size(); 
      request.setAttribute("size",k);   
     for(itr=data.iterator();itr.hasNext();){ 
     %> 

<tr class="a"> 

     <td><input type="checkbox" name="cbdate" value="<%=request.getParameter("checkeddate") %>"></td> 
     <td width="100" ><input type="text" name="checkeddate" value="<%=itr.next()%>" class="b"></td> 
     <td width="150"><input type="text" name="checkedtitle" value="<%=itr.next()%>" class="b"></td> 
     <td width="200"><textarea cols="39" rows="3"><%=itr.next()%></textarea></td> 

</tr> 

    <%} 

    %> 


<table><table border="1" align="center"><tr> 
<td><input type="submit" value="MODIFY" onclick="this.form.action='expriment.jsp';"></td> 
<td><input type="submit" value="DELETE" onclick="this.form.action='abc.jsp';"></form></td></tr> 
</table> 

</body> 
</html> 
+0

O_O需要一些編輯.. – YXD

回答

0

我會做的是使一個新的列表數組,然後添加你當前列表中的對象爲數組。

或者真的我可能會繼續並創建一個名爲Notes的新類文件,它將保存3個變量,您有ndate,eid,cdate然後爲它們設置getter/setters。然後,我會在while(rs.next)循環中調用Notes類的新實例,並使用我所設置的setter方法設置每個值,然後將其添加到我創建的List Array中。現在

public class Notes{ 

Date ndate; 
String Title; 
Date cdate; 
int eid; 

//create getter methods 
//create setter methods 
} 

的CnmsDes類

public class CnmsDes extends HttpServlet{ 
    public void doPost.......{List list=new ArrayList(); 
     response.setContentType("text/html"); 
     PrintWriter out = response.getWriter(); 
     System.out.println("Oracle Connect Example."); 
     Connection conn = null; 
     String url = "jdbc:oracle:thin:@localhost:1521:xe"; 
     String driver = "oracle.jdbc.driver.OracleDriver"; 
     String userName = "system"; 
     String password = "mint"; 
     Statement st; 
     try { 
      Class.forName(driver).newInstance(); 
      conn = DriverManager.getConnection(url,userName,password); 
      System.out.println("Connected to the database"); 

      String ndate = request.getParameter("date"); 
      String eid = request.getParameter("empid"); 
      String strar[] = ndate.split("/"); 
      String cdate = strar[0]+"/" + strar[1]+"/"+ strar[2]; 
      if(eid==null||eid=="Enter Your Employee ID"){response.sendRedirect("viewnotes.jsp");} 
      String query = "select * from CNMS_NOTES where emp_id='"+eid+"' and note_date='"+cdate+"'"; 

      Statement stmt=conn.createStatement(); 
      ResultSet rs=stmt.executeQuery(query); 

      List<Notes> notesList = new ArrayList<Notes>(); 
      while(rs.next()){ 
       Notes myNotes = new Notes; 
       myNotes.setNdate(rs.getDate("note_date")); 
       myNotes.setTitle(rs.getString("title")); 
       //you get the idea 
       notesList.add(myNotes); 
      } 

     } 
     catch(Exception e){out.print(e);} 
     request.setAttribute("description",list); 
     RequestDispatcher rd = request.getRequestDispatcher("/displaynotes.jsp"); 
     rd.forward(request, response); 
    } 
} 
+0

感謝爵士它幫助了很多東西給我。現在我可以繼續我的項目。 – Vikram

+0

@ Vikram:如果它幫助你解決你的問題,請接受他的回答。 –

相關問題