4-5 关于setAttribute()中参数的问题
老师你好,我在练习时遇到了一个问题: 在转发时,我写道: int a = Integer.parseInt(request.getParameter("num1")); int b = Integer.parseInt(request.getParameter("num2")); int sum=a+b; request.setAttribute("sum", sum); request.getRequestDispatcher("/zhuanfa.jsp").forward(request,response); <h1>The result is:</h1> <h3><%= request.getAttribute("sum")%></h3> 输出是没有问题的,但是在重定向时我写道 nt a = Integer.parseInt(request.getParameter("num1")); int b = Integer.parseInt(request.getParameter("num2")); int sum=a+b; ServletContext sc = request.getServletContext(); sc.setAttribute("sum",sum); response.sendRedirect("/FirstServlet/Redirect.jsp"); <% String succ= (String)application.getAttribute("sum"); %> <h1>The result is:</h1> <h3><%=succ %></h3> 输出是会报错的,除非把 sum转换为字符串才能正常显示。我很困惑为什么为什么转发时就可以直接用sum 而重定向时就必须要把sum转换为字符串。
25
收起
正在回答
1回答
在API,setAttribute的第二个参数是Object类型的,你传递的参数应该也是可以的;建议同学把报错信息帖一下,方便帮助你解答。
祝学习愉快~
从网页搭建入门Java Web2018版
- 参与学习 人
- 提交作业 1088 份
- 解答问题 10205 个
如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星