<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%><%
request.setCharacterEncoding("gb2312");
if(session.getAttribute("uname")!=null)
{
%>
<%!

String DBDRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String DBURL="jdbc:sqlserver://localhost:1433;DatabaseName=jdbc";
String DBUSER="sa";
String DBPWD="123";
Connection conn=null;
PreparedStatement pstmt=null; %> <%
boolean chack=false;
String title=request.getParameter("title");
String author=request.getParameter("author");
String ucontent=request.getParameter("ucontent");
//int id = 0 ;
try
{
//id =Integer.parseInt(request.getParameter("id"));
String str=request.getParameter("id");
int id=Integer.parseInt(str);


}
catch(Exception e)
{
e.printStackTrace();
}

%> <%
String sql= "UPDATE note set title=?,author=?,ucontent=? WHERE id=0";
try
{
Class.forName(DBDRIVER);
conn=DriverManager.getConnection(DBURL,DBUSER,DBPWD);
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,title);
pstmt.setString(2,author);
pstmt.setString(3,ucontent);
pstmt.setInt(4,id);
pstmt.executeUpdate();
System.out.println(sql);
System.out.println(id);
pstmt.close() ;
conn.close() ;
chack=true;

}
catch(Exception e)
{
e.printStackTrace();
}
%> <%
response.setHeader("refresh","2;URL=list_notes.jsp") ;
if(chack)
{
%>
留言修改成功,两秒后跳转到留言列表页!!!<br>
如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!
<%
}
else
{
%>
留言修改失败,两秒后跳转到留言列表页!!!<br>
如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!
<%
}
%><%
}
else
{
// 用户未登陆,提示用户登陆,并跳转
response.setHeader("refresh","2;URL=login.jsp") ;
%>
您还未登陆,请先登陆!!!<br>
两秒后自动跳转到登陆窗口!!!<br>
如果没有跳转,请按<a href="Login.jsp">这里</a>!!!<br><%
}
%>
An error occurred at line: 51 in the jsp file: /two/update_do.jsp
id cannot be resolved to a variable
怎么解决啊 为什么访问不了id啊

解决方案 »

  1.   

    <%@page contentType="text/html;charset=gb2312"%>
    <%@page import="java.sql.*"%><%
    request.setCharacterEncoding("gb2312");
    if(session.getAttribute("uname")!=null)
    {
    %>
    <%!
    //数据库连接常量定义
    String DBDRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";
    String DBURL="jdbc:sqlserver://localhost:1433;DatabaseName=jdbc";
    String DBUSER="sa";
    String DBPWD="123";
    Connection conn=null;
    PreparedStatement pstmt=null; %> <%
    boolean chack=false;
    String title=request.getParameter("title");
    String author=request.getParameter("author");
    String ucontent=request.getParameter("ucontent");
    int id =0;
    try
    {
                                     //出问题处  这里接受不到参数
                  id =Integer.parseInt(request.getParameter("id"));


    }
    catch(Exception e)
    {
    e.printStackTrace();
    }

    %> <%
    String sql= "UPDATE note set title=?,author=?,ucontent=? WHERE id=?";
    try
    {
    Class.forName(DBDRIVER);
    conn=DriverManager.getConnection(DBURL,DBUSER,DBPWD);
    pstmt=conn.prepareStatement(sql);
    pstmt.setString(1,title);
    pstmt.setString(2,author);
    pstmt.setString(3,ucontent);
    pstmt.setInt(4,id);//出问题处                 pstmt.executeUpdate();
    //System.out.println(sql);
    //System.out.println(id);
    pstmt.close() ;
    conn.close() ;
    chack=true;

    }
    catch(Exception e)
    {
    e.printStackTrace();
    }
    %> <%
    response.setHeader("refresh","2;URL=list_notes.jsp") ;
    if(chack)
    {
    %>
    留言修改成功,两秒后跳转到留言列表页!!!<br>
    如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!
    <%
    }
    else
    {
    %>
    留言修改失败,两秒后跳转到留言列表页!!!<br>
    如果没有跳转,请按<a href="list_notes.jsp">这里</a>!!!
    <%
    }
    %><%
    }
    else
    {
    // 用户未登陆,提示用户登陆,并跳转
    response.setHeader("refresh","2;URL=login.jsp") ;
    %>
    您还未登陆,请先登陆!!!<br>
    两秒后自动跳转到登陆窗口!!!<br>
    如果没有跳转,请按<a href="Login.jsp">这里</a>!!!<br><%
    }
    %>上面的有改动