jsp只是抛出nullPointerException的代码
这是test.jspjsp只是抛出nullPointerException的代码,jsp,Jsp,这是test.jsp <%@ page import="java.util.*" %> <%@ page import="java.io.*" %> <% String str = request.getParameter("str"); if (str.equals("play")) { } %> 请注意,GlassFish Server开源版本3.1.1日志中提供了异常及其根本原因的完整堆栈跟踪
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%
String str = request.getParameter("str");
if (str.equals("play")) {
}
%>
请注意,GlassFish Server开源版本3.1.1日志中提供了异常及其根本原因的完整堆栈跟踪
上面的代码在运行时有错误,上面的代码有什么问题?将if(str.equals(“play”)
更改为if(str!=null&&str.equals(“play”)
您的请求参数似乎为空 在jsp中使用脚本是非常糟糕的编程实践。
对于您面临的问题,我认为找不到参数检查是否为请求发送参数另一种方法。如果您有常量字符串,例如,在您的情况下“play”与它比较变量,而不是您正在执行的操作。i、 e
if ( ("play").equals(str))
{
}
这样,您就不会得到Null指针异常,因为字符串不等于Null(若str为Null)。在您的情况下,因为str为null,所以null.equals会给您null指针异常
还尝试在if语句之前打印str的值,如下所示,以查看值是什么
out.println("Str:"+str);
希望这能有所帮助。对于
“str”
没有请求参数,因此str变量为null
。正如其他人建议的,你可以使用这个“play”.equals(str)代码>请调试从中获取“str”值的.java文件。
并检查该位置是否为空。
如果是,那么这就是它抛出空指针异常的原因。
Str=NULL不能解决您的问题,因为您无法获得所需的输出&这会导致您更加困惑。
PS:请避免在JSP中使用Scriptlet。添加str=空到您的if循环。
out.println("Str:"+str);