2011-06-30 20 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); 
    } 
} 

と私はどうなるのか

<%@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

... – YXD

答えて

0

をdisplaynotes.jspは、新しいリストの配列を作成し、その配列にあなたの現在のリストオブジェクトを追加しています。

本当に私はおそらく、あなたがndate、eid、cdateを持っている3つの変数を保持するNotesと呼ばれる新しいクラスファイルを作って、getters/setterを作成します。私はwhile(rs.next)ループで、Notesクラスの新しいインスタンスを、setterメソッドで設定した各値を設定し、それをリスト配列に追加します。

public class Notes{ 

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

//create getter methods 
//create setter methods 
} 

今CnmsDesクラスO_Oは、いくつかの編集が必要

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:あなたの問題解決に役立ったら、彼の答えを受け入れてください。 –

関連する問題