JSP 单选按钮值给出 java.lang.NullPointerException

问题描述

我有一个使用 js 代码生成无线电输入的表单。但是当我尝试提交表单时,选定的值没有被发送到 servlet,我得到了空指针异常。

onMyPage.jsp

<form action="generate" method="post">
<%
for (Monitor mtr : maInfo.getMonitor()) {
    out.println("<input style=\"margin-left:20px\" type=\"radio\" name=\"monitor\" value=\""+mtr.getMonitorAbbr()+"\"/>"+mtr.getMonitorAbbr()+"<br>");
}
%>
<input type="submit" value="Submit" onclick="this.disabled=true"/>
</form>

在 servlet.java 上

String variable = (String) request.getAttribute("monitor");

错误信息:

java.lang.NullPointerException: Cannot invoke "Object.toString()" because the return value of "javax.servlet.http.HttpServletRequest.getAttribute(String)" is null

解决方法

Request.getAttribute() 主要用于获取请求中的请求头或字段值。 属性也可用于设置请求范围内的一些对象。这有助于请求转发。

Request.getParameter() 用于获取 HTTP 请求的表单参数。

请参考 HTTPServletRequest 文档

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...