这是showMsg.jsp,并且我测试过,messageid是有值的.....<%@ page language="java" import="java.util.*,
                          biz.*,
                          entity.*,
                          dao.* " pageEncoding="GBK"%>
<%
request.setCharacterEncoding("GBK");
User loginUser=(User)session.getAttribute("loginUser");
if(loginUser==null){
response.sendRedirect("index.jsp");
}MessageBiz messagebiz=new MessageBiz(); 
int messageid;
String receiveUname="";
try{
    messageid=Integer.parseInt(request.getParameter("messageId"));
}catch(Exception e){
   response.sendRedirect("listMsg.jsp");
   return;
}
Message message=messagebiz.findMessage(messageid);
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
<title>无标题文档</title>
<style type="text/css">
<!--
.STYLE1 {
font-size: 24px;
font-weight: bold;
}
-->
</style>
</head><body>
<table width="631" height="97" border="0">
  <tr>
    <td>&nbsp;</td>
    <td>当前用户<%=loginUser.getName() %></td>
    <td><a href="doLoginOut.jsp">[登出]</a></td>
    <td><a href="post.jsp">发短消息</a></td>
    <td><a href="listMsg.jsp">[我的短消息]</a></td>
  </tr>
  <tr>
    <td colspan="2"><span class="STYLE1">阅读短消息</span></td>
    <td colspan="3"><%=message.getNote() %></td>
  </tr>
  <tr>
    <td>来自:<%=message.getSendname() %></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td colspan="5">&nbsp;</td>
  </tr>
  
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td><a href="post.jsp?receiveUname=<%=message.getSendname() %>">[回复]</a></td>
    <td><a href="../doPages/doDelete.jsp? msgid=<%=messageid %>">[删除]</a></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td colspan="2">[时间:<%=message.getPosttime() %>]</td>
  </tr>
</table>
</body>
</html>
---------------------------------------------------------------------------------
这个是doDelete.jsp<%@ page language="java" import="java.util.*,dao.*,entity.*,biz.*"
pageEncoding="GBK"%>
<%
request.setCharacterEncoding("GBK");
User loginUser = (User) session.getAttribute("loginUser"); if (loginUser == null) {
response.sendRedirect("../pages/index.jsp");
return;
} int msgId = Integer.parseInt(request.getParameter("msgid"));      //这句话老是报错,貌似传不过来,检验了一下,msgId是没值得,为什么啊??
MessageBiz messageBiz = new MessageBiz();
Message message = messageBiz.findMessage(msgId);
if (loginUser.getName().equals(message.getReceivename())) {
messageBiz.delete(msgId);
}
response.sendRedirect("../pages/listMsg.jsp");
%>-------------------------------------------------------------------------------
报错:
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: java.lang.NumberFormatException: null
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.NumberFormatException: null
java.lang.Integer.parseInt(Integer.java:415)
java.lang.Integer.parseInt(Integer.java:497)
org.apache.jsp.doPages.doDelete_jsp._jspService(doDelete_jsp.java:68)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.

解决方案 »

  1.   

    楼主你确定<%=messageid %>">能输出值来么?可以写个标签试试看
      

  2.   

    你将鼠标停留在删除的超链接上,看状态栏中
    msgid= <%=messageid %>
    是否有值。。
      

  3.   

    <a href="../doPages/doDelete.jsp? msgid= <%=messageid %>"> 改成 <a href="../doPages/doDelete.jsp? msgid= <%=messageid %>+''">试试  
      

  4.   

    我确定,在showMsg 中messageid是有值得丫
      

  5.   

    int messageid; //这里定义的messageid没有赋值。可以设为0。
    String receiveUname=""; 
    try{ 
        messageid=Integer.parseInt(request.getParameter("messageId"));//这边获取其他页面messageId你看是哪个页面传来的。你看看哪个也面有没有问题。
    }catch(Exception e){ 
      response.sendRedirect("listMsg.jsp"); 
      return; 
    } 。
        <td> <a href="post.jsp?receiveUname= <%=message.getSendname() %>">[回复] </a> </td> 
        <td> <a href="../doPages/doDelete.jsp? msgid= <%=messageid %>">[删除] </a> </td> // 这边messageid 是上面来的吧。如果你其他页面的messageid 没有传过来。那么messageid 就是null了。所以就是空了