
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");
}%>
If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.
Ask your questions, our development team will try to give answers to your questions.