如何将值从一个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
复制相似问题