Am working on a Mail Server Project. In that I have Inbox And Outbox Messages. Now Each and Every message is deleting correctly in my project. But Problem occurs when i use to delete the last message left in both in/out box. i have done the validations which says an alert while i directly click on button(which it should show) without checking it but if during last message left in mail and its already checked;i click on button it shows an error. A when there is no message in it and i click on delete its showing jasper error(Instead of showing 'there is no message in outbox/inbox'). am posting my code also.....
<html> <head> <script> function ValidateForm() { var flag = false; for(i=0;i< document.frm.inboxchk.length;i++) { if(document.frm.inboxchk[i].checked) flag = true; } if(!flag) { alert('Please select Mails'); return false; } return true; } </script> </head> <body> <form action="DeleteOutbox.jsp" method="post" name="frm" onsubmit="return ValidateForm();"> outbox.jsp <%@ page import="java.sql.*"%> <%@ page import="javax.sql.*"%> <%@ page import="java.io.*"%> <%@ page import="java.io.File"%> <%@ page import="java.util.*"%> <% PMS.common.PMSDBManager obj = new PMS.common.PMSDBManager(); String sesUserId=(String)session.getAttribute("UserId"); if(sesUserId == null) { response.sendRedirect("Login.jsp"); } else { String empid=request.getParameter("empid"); if(sesUserId == null) { response.sendRedirect("Login.jsp"); } Calendar cal = Calendar.getInstance(); String CurrentTime = cal.get(Calendar.HOUR) + ":" + cal.get(Calendar.MINUTE) + ":" + cal.get(Calendar.SECOND); String CurrentDate = cal.get(Calendar.YEAR) + "/" + (cal.get(Calendar.MONTH)+1) + "/" + cal.get(Calendar.DATE); String sql="SELECT * FROM mstOutbox WHERE fromuid='"+sesUserId+"' AND dstatus='N'"; ResultSet rs=obj.getResultSet(sql); %> <center><i><h4>OUTBOX:</h4></i> <table BORDER="1" CELLPADDING="2"> <tr> <td></td> <td>Subject</td> <td>To</td> <td>Date</td> <td>Time</td> <tr> <% while(rs.next()) { int frmid=rs.getInt("touid"); String sql1="SELECT * FROM mstRegistration WHERE userid='"+frmid+"'"; ResultSet rs1=obj.getResultSet(sql1); while(rs1.next()) { %> <tr> <td><input type="checkbox" name="inboxchk" value="<%=rs.getInt("omailid")%>"></td> <td><h4><i><a href="Displaymail.jsp?empid=<%=rs.getInt("omailid")%>&userid=<%=rs1.getString("userid")%>&outbox=Y" target="middle_pane"><%out.println(rs.getString("subject"));%></a></i></h4></td> <td><h4><i><%out.println(rs1.getString("firstname"));%></i></h4></td> <td><h4><i><%out.println(rs.getString("date"));%></i></h4></td> <td><h4><i><%out.println(rs.getString("time"));%></i></h4></td> </tr> <%}} %> </table> <input type="submit" name="delete" value="Delete Mail" onClick="return ValidateForm();"> </center> </form> </body> </html> <%}%> deleteout.jsp <%@ page import="java.sql.*"%> <%@ page import="javax.sql.*"%> <%@ page import="java.io.*"%> <%@ page import="java.io.File"%> <% PMS.common.PMSDBManager obj = new PMS.common.PMSDBManager(); String sesUserId=(String)session.getAttribute("UserId"); if(sesUserId == null) { response.sendRedirect("Login.jsp"); } else { String[ ] touserId = request.getParameterValues("inboxchk"); boolean booln = false; for(int i=0;i<touserId.length;i++) { System.out.println("IN DELETE PAGE OF OUTBOX>>>>>>>>>>>>>>>>>>"+touserId[i]); String delsqlinx = "UPDATE mstOutbox SET dstatus='Y' WHERE omailid='"+touserId[i]+"' AND fromuid='"+sesUserId+"'"; booln = obj.executeQuery(delsqlinx); } response.sendRedirect("Outbox.jsp"); }%>
Ads