从一个jsp页面跳转到另一个jsp页面如1.jsp          <tr>
             <td height="50" align="center">物料编号</td>
             <td align="left">
               <input type="text" name="id" value="<%=id%>"  style="width:200px;background: #FFF" disabled="disabled"/>               
            </td>
         </tr>  
         <tr>
             <td height="50" align="center">物料种类</td>
             <td align="left">
               <input type="text" name="kind" value="<%=kind%>"  style="width:200px;background: #FFF"/>
            </td>
         </tr>  
通过action到2.jsp中String id=new String(request.getParameter("id"));
String kind=new String(request.getParameter("kind").getBytes("iso-8859-1"),"UTF-8");
String name=new String(request.getParameter("name").getBytes("iso-8859-1"),"UTF-8");
String num=new String(request.getParameter("num"));执行报错org.apache.jasper.JasperException: An exception occurred processing JSP page /nb/materials/2/action/modiaction.jsp at line 41: <%@ page contentType="text/html; charset=UTF-8" language="java" import="java.sql.*" errorPage="" %>
2: <%@ include file="../../../../conn.jsp"%>
3: <%
4: String idd=new String(request.getParameter("id"));
5: String kind=new String(request.getParameter("kind").getBytes("iso-8859-1"),"UTF-8");
6: String name=new String(request.getParameter("name").getBytes("iso-8859-1"),"UTF-8");
7: String num=new String(request.getParameter("num"));去掉String idd=new String(request.getParameter("id"));之后,成功。显示页面是有值的。但连接过去就报错,不知问题何在,求助!!!

解决方案 »

  1.   

    你的1.jsp页面input的name为id的属性是disabled,表单传值是传不过去的,所以2.jsp出错了,没接到值,
    如果你想传值过去,你可以这样写
    <input type="hidden" name="id" value="<%=id%>"/>
    <input type="text" value="<%=id%>" style="width:200px;background: #FFF" disabled="disabled"/>--注意这个的name不能为id,要不然会重复上面的那个hidden
    定义一个hidden类型的input,这样是隐藏的,页面上是看不到的,而且也可以传值
      

  2.   

    String idd=new String(request.getParameter("id"));
    换成
    String idd=(String)request.getParameter("id");
    idd = idd == null ? "":idd;