如何将值从一个servlet(将其视为一个项目)发送/传递到另一个servlet(考虑为另一个项目)。它显示数字格式异常。在sendredirect方法中传递值是正确的,还是有其他方法?
示例:
文件: uzkpk2.java
         String a1=request.getParameter("a[0]");             
         aa1=Integer.parseInt(a1);
         String a2=request.getParameter("a[1]");             
         aa2=Integer.parseInt(a2);
         String a3=request.getParameter("a[2]");             
         aa3=Integer.parseInt(a3);
         String a4=request.getParameter("a[3]");             
         aa4=Integer.parseInt(a4);    
   response.sendRedirect("http://localhost:8080/CSP/czkpk1?y="+y+"&a1="+aa1+"&a2="+aa2+"&a3="+aa3+"&a4="+aa4);
    } 
    catch(Exception e)
    {
        out.println(e);
    }
}    }
文件: czkpk1.java
 aaa1=Integer.parseInt(request.getParameter("aa1"));
        aaa2=Integer.parseInt(request.getParameter("aa2"));
        aaa3=Integer.parseInt(request.getParameter("aa3"));
        aaa4=Integer.parseInt(request.getParameter("aa4")); 发布于 2011-02-28 06:45:17
您正在使用错误的请求参数来获取值。
    aaa1=Integer.parseInt(request.getParameter("aa1"));
    aaa2=Integer.parseInt(request.getParameter("aa2"));
    aaa3=Integer.parseInt(request.getParameter("aa3"));
    aaa4=Integer.parseInt(request.getParameter("aa4")); 而不是这种用途
    aaa1=Integer.parseInt(request.getParameter("a1"));
    aaa2=Integer.parseInt(request.getParameter("a2"));
    aaa3=Integer.parseInt(request.getParameter("a3"));
    aaa4=Integer.parseInt(request.getParameter("a4")); 因为在czkpk1.java中,您使用的是变量名,而不是在response.sendRedirect()中的url中传递的参数;
还有一个建议是,切赫在将数值解析为字符串之前只使用数值。
最好的方法是使用
Servlet链接.
发布于 2011-02-28 06:05:27
->使用request.setAttribute()将请求上下文中的值写入属性
->在使用RequestDispatcher.forward()将请求转发到第二个servlet之后
第二个servlet中的->使用request.getAttribute()读取值
https://stackoverflow.com/questions/5138639
复制相似问题