首先list_notes.jsp里
有这么一句
:<td><a href="servlet/UpdateSelectServlet?id=<%=id%>"><%=title %></a></td>
跳转到servlet包下UpdateSelectServlet.java
有这么获取id值的代码

int id = 0;
id=Integer.parseInt(request.getParameter("id"));
try
{
DbDao dd=new DbDao(driver,url,user,password);
//查询结果集
String sql="SELECT id,title,author,contents FROM note WHERE id=?";
ResultSet rs=dd.query(sql,id);
if(rs.next())
{
//HttpSession  session=request.getSession(true);
request.setAttribute("urs",rs);//把查询的结果集放进request里,对不对?
request.setAttribute("id",id);
rd=request.getRequestDispatcher("/update.jsp");
rd.forward(request, response);
}
}update.jsp里
如下:

<%ResultSet rs=(ResultSet)request.getAttribute("urs");//获取之前放进request的ResultSet这样,对不对?
int id=(Integer)(request.getAttribute("id"));
if(rs.next())
     {
     
     //进行循环打印,打印出所有的内容,以表格形式
     //从数据库中取出内容
     id=rs.getInt(1);
     String title=rs.getString(2);
     String author=rs.getString(3);
     String contents=rs.getString(4);
     %>
<form action="servlet/UpdateServlet" method="post">
    <table>
<tr>
  <td colspan="2">修改留言</td>
</tr>
<tr>
  <td>标题:</td>
<td><input type="text" name="title" value="<%=title %>"/></td>

</tr>
<tr>
<td>作者:</td>
<td><%=author%> </td>

</tr>
<tr>
<td>内容:</td>
<td><textarea name="contents" cols="30" rows="6"><%=contents %></textarea></td>
</tr>
<tr>
<td colspan="2">
<input type="hidden" name="id" value="<%=id %>"/>
<input type="submit"  value="更新"/>
<input type="reset" value="重置"/>
</td>
</tr>
</table>
</form>
<%
}
else
{
 %>
 没有发现,要更新的内容<br/>
 请确认要更新的留言是否存在<br/>
立刻为你跳转到留言列表页<br/>
如果没有跳转请点击<a href="servlet/SearchServlet">这里</a>
 <%
  response.setHeader("refresh","2,URL=SearchServlet");
 }
  %>

而我点击list_notes.jsp里的<%=title%>相应的值时,
页面出来的结果是:

没有发现,要更新的内容
 请确认要更新的留言是否存在
立刻为你跳转到留言列表页
如果没有跳转请点击这里
确定数据库有那条留言,且语句没错。而且UpdateSelectServlet.java里查询出来的ResultSet rs是不为空的。是我传值出错了吗?求具体解决方案

解决方案 »

  1.   

    request.setAttribute("urs",rs);//把查询的结果集放进request里,对不对?
    为什么要把rs给穿进去,既然都rs。next了,LZ,你直接在serelt里面获取值,封装成一个对象,然后在jsp中用java代码获取不行吗?
    而且这里应该是if(rs.next)应该是while(rs.next)当你的查询结果又多条记录的时候,你的if就不能满足!
      

  2.   


    :<td><a href="servlet/UpdateSelectServlet?id=<%=id%>">&title=<%=title %></a></td>
     
    &title=
      

  3.   

    首先list_notes.jsp里
    有这么一句
    :<td><a href="servlet/UpdateSelectServlet?id=<%=id%>"><%=title %></a></td>
    这个传值,你把title写掉了,
      

  4.   


    直接在serelt里面获取值,封装成一个对象,怎么弄?因为数据库的id是唯一性约束。所以不存在多条记录,可以考虑可以去掉
      

  5.   


    误会我的代码了,因为那是在前台显示title的值,然后点title的值会到UpdateSelectServlet
      

  6.   


    误会我的代码了,因为那是在前台显示title的值,然后点title的值会到UpdateSelectServlet
      

  7.   


    我具体说说吧。其实我就是想做一个留言板,留言表有id,title,author,contents、
    我现在想做的修改留言,就是点击title跳进另一页面。但是你跳进另一个页面的时候,要到数据库提取你想要修改的那条留言啊,现在就是点击用id的值获取这条留言。即
    <a href="servlet/UpdateSelectServlet?id=<%=id%>">把id传到
    servlet/UpdateSelectServlet.java里