我从用户使用html文件获取值,然后servlet使用该文件执行某些计算。当我在浏览器中执行我的Web应用程序时,它会从用户获取值,但是当我获取值后单击提交按钮时,这个错误被抛出。 " HTTP错误500 访问/ servlet / MvcServlet时出现问题。原因: java.lang.Integer无法强制转换为java.lang.String"
我的servlet代码是这样的:
int gpa=total/c;
req.setAttribute("gpa",gpa);
RequestDispatcher view = req.getRequestDispatcher("/result.jsp");
view.forward(req, resp); `
我的jsp代码是:
String gpa = (String) request.getAttribute("gpa");
int r=Integer.parseInt(gpa);
out.println("Your Result is "+ r);
请帮我传递我的整数值" gpa"在servlet中对jsp。
答案 0 :(得分:2)
int gpa =(Integer)request.getAttribute(“gpa”);
答案 1 :(得分:2)
显而易见的答案是将数据作为Integer
获取并让Java自动将其转换为int
。这段代码值得注意:
int gpa = (Integer) request.getAttribute("gpa");
但是你**should avoid having scriptlets (Java code) directly in your code。所以最好的选择是直接在JSP代码中使用Expression Language:
<!DOCTYPE html>
<html lang="es">
<head>
<!-- head content here -->
</head>
<body>
<!-- other content in your JSP file -->
Your result is: ${gpa}
<!-- There's no need of senseless scriptlet code -->
</body>
</html>
答案 2 :(得分:0)
当你将int值发送到jsp时,你可以试试这个
int gpa = total/c;
String test = ""+gpa;
req.setAttribute("test",test);
RequestDispatcher view = req.getRequestDispatcher("/result.jsp");
view.forward(req, resp);
然后在jsp中你不必解析它。直接去 -
String gpa = (String) request.getAttribute("test");
out.println("Your Result is "+ gpa);
试试这个:D