关于页面传值报错的问题
//页面一
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("用户登录成功!");
//实现了请求和转发的功能
//request.getRequestDispatcher("/direct/Index").forward(request, response);
//响应重定向
//response.sendRedirect("/ServletProj/direct/Index");
String num = request.getParameter("num");
int sum =0;
for(int i = 1 ;i<=Integer.parseInt(num);i++) {
sum += i;
}
request.setAttribute("name",sum);
request.getRequestDispatcher("/direct/Index").forward(request, response);
//response.sendRedirect("/ServletProj/direct/Index");
}
页面二
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String name =(String)request.getAttribute("name");
response.getWriter().println(name);
}为什么我德sum值传到另一个页面的时候就报错?
2
收起
正在回答 回答被采纳积分+1
3回答
好帮手慕小班
2019-11-07 15:08:15
同学你好,1、ClassCastException-->是JVM(Java虚拟机)在检测到两个类型间转换不兼容时引发的运行时异常。
2、根据报出的异常信息,测试贴出代码,这里出现数据类型转化异常是因为在Index中接收request传递过来的名称为name的内容是一个int类型的数字值,如果要将这个值转为String类型,可以以使用toString方法,而不是直接强转为String,例如:
String name = request.getAttribute("name").toString();这里也可以直接将这个值强转为int类型的值。
int name = (int)request.getAttribute("name");如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
龙丶
2019-11-07 11:38:35

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("用户登录成功!");
//实现了请求和转发的功能
//request.getRequestDispatcher("/direct/Index").forward(request, response);
//响应重定向
//response.sendRedirect("/ServletProj/direct/Index");
String num = request.getParameter("num");
int sum =0;
for(int i = 1 ;i<=Integer.parseInt(num);i++) {
sum += i;
}
request.setAttribute("name",sum);
request.getRequestDispatcher("/direct/Index").forward(request, response);
//response.sendRedirect("/ServletProj/direct/Index");
}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String name =(String)request.getAttribute("name");
response.getWriter().println(name);
}就是这样
2. 从网页搭建入门JavaWeb
- 参与学习 人
- 提交作业 676 份
- 解答问题 9666 个
本阶段将从前端网页搭建入手,到Java Web基础,前后端结合助你完成Java Web小白的蜕变!
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星