将整数值从servlet传递给jsp

时间:2014-05-17 10:39:15

标签: java jsp servlets

我从用户使用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。

3 个答案:

答案 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