从A页面传递一个参数给B页面. A页面代码 <form name="form1' method="post" action="change_query.jsp?xh1=<%=rs.getObject(1)%>">  点提交B页面代码: xh=request.getParameter("xh1").trim();这样应该没有问题吧.运行说 xh=request.getParameter("xh1").trim();这句有问题啊? xh1是能够正常获得的,可是赋给xh( xh=request.getParameter("xh1").trim();)这句为什么错呀?

解决方案 »

  1.   

    把错误信息贴出来看一下
    或者可以把trim()去掉试试,有时候把它去掉就可以了,我遇到过,具体原因不明
      

  2.   

    ((String)request.getParameter( "xh1 ")).trim();这样试试.原因是因为request.getParameter( "xh1 ")得到的不是字符串的类型
      

  3.   

    不可以.我把代码贴一下。红色的是和这个错误有关系的代码
    A页面:<%@page contentType="text/html" pageEncoding="gb2312" language="java"%>
    <%@page import="java.sql.*"%>
    <%@page import="java.util.*"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
            <title>修改记录</title>
        </head>
          <%request.setCharacterEncoding("gb2312");%> 
           <%response.setContentType("text/html; charset=gb2312");%> 
          <body>
            
            <%! String xh,name,sex,age,college,url,sql; %>
            <%  Connection conn;%>
            <%  ResultSet rs;%>
            <%  Statement st; %>
            <% 
                   xh=request.getParameter("xhh").trim();
            try
               {
                   Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
                   url="jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=xjgl;user=sa;password=321";
                   conn=java.sql.DriverManager.getConnection(url);
                   st=conn.createStatement();
                   sql="select * from student where 学号='"+xh+"'";
                   rs=st.executeQuery(sql);
                   while(rs.next())
                       {
             %>
             <center>
                 修改记录
             </center>
                <form name="form1' method="post" action="change_query.jsp?xh1=<%=rs.getObject(1)%>">
                <table width="75%" border="1" cellspacing="1" cellpadding="1" align="center">
                <tr>
                    <td width="16%" align="center">学号</td>
                    <td width="16%" align="center"><%=rs.getObject(1)%></td> </tr>
                <tr>     
                    <td width="16%" align="center">姓名</td>
                    <td width="16%" align="center"><input type="text" value=<%=rs.getString(2)%> name="name" size=8></td> </tr>
                <tr>    
                    <td width="16%" align="center">性别</td>
                     
                    <td width="16%" align="center">
                        <%
                           sex=rs.getString(3).trim();
                           if(sex.equals("男"))
                               {
                       %>
                        <select name="sex" size="1">
                            <option value="男" selected>男</option>
                            <option value="女">女</option>
                        </select>
                          <%
                          }
                           else{
                          %>
                        <select name="sex" size="1">
                            <option value="男">男</option>
                            <option value="女" selected>女</option>
                        </select>
                        <% } %>
                </td> </tr>
                <tr>    
                    <td width="16%" align="center">年龄</td>
                    <td width="16%" align="center"><input type="text" value=<%=rs.getObject(4)%> name="age"></td> </tr>
                <tr>    
                    <td width="16%" align="center">籍贯</td>
                    <td width="16%" align="center"><input type="text" value=<%=rs.getObject(5)%> name="jg"></td> </tr>  
                <tr>    
                    <td width="16%" align="center">院系</td>
                    <td width="16%" align="center"><input type="text" value=<%=rs.getObject(6)%> name="college"></td> </tr>
                <tr>
                  <td align="center"><input type="submit" value="提交" name="submit1"> </td>
                  <td align="center"><input type="reset" value="清空" name="submit1" align="center">  </td>
                  
                 </tr>    
         </table>
          </form>
                 <%
                          }
                          rs.close();st.close();conn.close();
                          }                                                                                                                   
                          catch (Exception e)
                          {
                          out.println(e);
                          
                          }
                  %>                  
                 
        </body>
    </html>
    B:页面
    <%@page contentType="text/html" pageEncoding="gb2312" language="java"%>
    <%@page import="java.sql.*"%>
    <%@page import="java.util.*"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd"><html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
            <title>JSP Page</title>
             <%request.setCharacterEncoding("gb2312");%> 
        </head>
        <body>
          <%! String xh,name,sex,age,jg,college,url,sql;%>
          <%  int i;%>
          <%  Connection conn;%>
          <%  ResultSet rs;%>
          <%  Statement st; %>
             <% 
             xh=request.getParameter("xh1").trim();         name=request.getParameter("name").trim();
             name=new String(name.getBytes("ISO-8859-1"));
             sex=request.getParameter("sex").trim();
             sex=new String(sex.getBytes("ISO-8859-1"));
             age=request.getParameter("age").trim();
             i=Integer.parseInt(age);
             jg=request.getParameter("jg").trim();
             jg=new String(jg.getBytes("ISO-8859-1"));
             college=request.getParameter("college");
             college=new String(college.getBytes("ISO-8859-1"));
             
              try
               {
                   Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
                   url="jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=xjgl;user=sa;password=321";
                   conn=java.sql.DriverManager.getConnection(url);
                   st=conn.createStatement();
                   sql="select * from student where 学号='"+xh+"'";
                   rs=st.executeQuery(sql);
                   if(rs.getRow()>0)
                       {
                         out.print("这个学号的同学已经存在!");
                         return;
                         }
                   sql="update student set 姓名='"+name+"',性别='"+sex+"',年龄='"+i+"',籍贯='"+jg+"',院系='"+college+"' where 学号='"+xh+"'";
                   st.executeUpdate(sql);
                   out.println("正在修改信息,请守侯<meta http-equiv='refresh' content='2;url=list.jsp'>");
                   rs.close();st.close();conn.close();
                }
                catch(Exception e)
                        {
                          out.println(e);
                        }
                        
               %>
        </body>
    </html>
    页面错误提示:
    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: An exception occurred processing JSP page /web/change_query.jsp at line 2017:       <%  ResultSet rs;%>
    18:       <%  Statement st; %>
    19:          <% 
    20:          xh=((String)request.getParameter("xh1")).trim();
    21:          name=request.getParameter("name").trim();
    22:          name=new String(name.getBytes("ISO-8859-1"));
    23:          sex=request.getParameter("sex").trim();
    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:435)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    root cause 
      

  4.   

    String xh=request.getparemter("xh1");
    xh.trim()