如何在从servlet到jsp获取值时删除java.lang.NullPointerException



我正在从servlet到jsp获取值。我的目的是通过表单获取值,提交表单后,值进入总周期字符串变量。我想将该值带到 jsp 页面,但它显示错误。运行项目而不是显示表单后,它显示在错误下方。 在java中,在doPost内部

String period=request.getParameter("totalperiod");
request.setAttribute("value", "period");

在 jsp 中,

int tenure =(Integer) request.getAttribute("value");

控制台错误

SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
An exception occurred processing JSP page /home.jsp at line 160     
160:      int tenure =(Integer) request.getAttribute("value");

它应该是

String period = request.getParameter("totalperiod");
request.setAttribute("value", period);

在 JSP 中检查 NullPointerException

if (request.getAttribute("value") != null) {
int tenure = (Integer) request.getAttribute("value");
}

首先设置了一个错误的值

String period=request.getParameter("totalperiod");
request.setAttribute("value", "period");

如果您想回复周期的值,它应该如下所示

String period=request.getParameter("totalperiod");
request.setAttribute("value", period);//without ""

它可以通过多种方式完成,但只是一个将值传递回 jsp 的示例

String period=request.getParameter("totalperiod");
request.setAttribute("value", period);
request.getRequestDispatcher("home.jsp").forward(request, response);

在JSP页面中,您可以检查以确保数据是否到达

int tenure=-1;
if (request.getAttribute("value") != null) {
tenure = (Integer) request.getAttribute("value");
}

最新更新