I have a jsp
file in which i have to display the notes with there date and de开发者_运维知识库scription
Since there can be more than one note(as in a scheduler) for a particular date so more than one notes are displayed at a time. Now i want that user can modify particular notes in the database by checking them with the help of check boxes. now as the values of note are coming dynamically from the data base how can i set the value for check box.
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);
}
}
and displaynotes.jsp
<%@page language="java" import="java.util.*" %>
<html>
<body background="images/bg1.jpg">
<form>
<table class="t" border="1" width="650" align="center" >
<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';">
</td>
</tr>
</table>
</form>
</body>
</html>
What I would do is make a new List array and then add your current list object into that array.
Or really i would probably go ahead and make a new class file called Notes which would hold the 3 variables you have ndate,eid,cdate then make getters/setters for them. I would then in the while (rs.next) loop call a new instance of the Notes class setting each value with the setter method i made, and then adding that to the List Array i made.
public class Notes{
Date ndate;
String Title;
Date cdate;
int eid;
//create getter methods
//create setter methods
}
Now the CnmsDes class
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);
}
}
精彩评论