2011-02-28 47 views
0

如何从一个servlet(将其视为一个项目)发送/传递给另一个servlet(考虑作为另一个项目)。它显示数字格式异常。它是正确的传递中的sendRedirect方法值或是否有任何其他方式Java Servlet编程

实施例:

文件: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")); 
+0

取决于你想用这些servlet做什么。你的目标是什么? – 2011-02-28 05:51:14

+0

看起来是http://stackoverflow.com/questions/4321151/how-to-pass-array-from-one-servlet-to-another-servlet的副本。 – Pradeep 2011-02-28 05:53:21

回答

0

- >写请求上下文的值作为使用了request.setAttribute()的属性

- >后请求转发给使用调用RequestDispatcher.forward()第二个servlet

- >在第二个servlet使用读出的值request.getAttribute()

+0

感谢解决方案 – Learner 2011-03-01 05:11:50

1

您正在使用错误的请求参数来获取值。

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您正在使用的变量名,而不是在本URL中response.sendRedirect是传递的参数();

并且在将其解析为字符串之前仅为数值提供一个建议。

做到这一点,最好的办法是

Servlet的链接的使用概念。

+0

感谢您的解决方案 – Learner 2011-03-01 05:11:11