Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp servlet中单击按钮后出现空指针异常_Jsp_Servlets_Jqgrid_Nullpointerexception - Fatal编程技术网

Jsp servlet中单击按钮后出现空指针异常

Jsp servlet中单击按钮后出现空指针异常,jsp,servlets,jqgrid,nullpointerexception,Jsp,Servlets,Jqgrid,Nullpointerexception,我只是使用按钮将控制从jsp传递到Servlet。 但当我单击submit按钮时,我在servlet的注释行中得到了NullPointerException。请告诉我错误。 提前准备好 这是我的Jsp代码 <form action="JQGridServlet"> <input type="submit" name="submit" value="submit"/> </form> 这是我的Servlet代码 公共类JQGridServlet扩展

我只是使用按钮将控制从jsp传递到Servlet。 但当我单击submit按钮时,我在servlet的注释行中得到了
NullPointerException
。请告诉我错误。
提前准备好

这是我的Jsp代码

<form action="JQGridServlet">
    <input type="submit" name="submit" value="submit"/>
</form>

这是我的Servlet代码

公共类JQGridServlet扩展了HttpServlet
{
受保护的无效processRequest(HttpServletRequest请求,HttpServletResponse
响应)引发异常{
PrintWriter out=response.getWriter();
IPConverter conv=新IPConverter();
System.setProperty(“log4j.defaultInitOverride”、“true”);
LogManager.resetConfiguration();
LogManager.getRootLogger().addAppender(新的NullAppender());
试一试{
//此行出现空异常
if(request.getParameter(“action”).equals(“fetchData”)//Exception
{
setContentType(“text/xml;charset=UTF-8”);
对象o=request.getAttribute(“页面”);
System.out.println(“-------------------------o=“+o”);
字符串状态=request.getParameter(“状态”);
String rows=request.getParameter(“rows”);
String page=request.getParameter(“页面”);
if(request.getParameter(“submit”)!=null)
{
System.out.println(request.getParameter(“submit”);
}
//字符串KeyName=request.getParameter(“KeyName”);
//System.out.println(键名);
int totalPages=0;
整数总数=58000;
如果(总计数>0){
if(totalCount%Integer.parseInt(行)==0){
totalPages=totalCount/Integer.parseInt(行);
}否则{
totalPages=(totalCount+Integer.parseInt(行)-1)/
整数.parseInt(行);
}
}否则{
总页数=0;
}
打印输出(“\n”);
输出。打印(“”);
out.print(“+request.getParameter(“page”)+”);
打印(“+totalPages+”);
打印(“+58000+”);
EventQuery eq=新的EventQuery();
int firstRecord=(Integer.parseInt(第页)-1)
*整数.parseInt(行);
int lastRecord=Math.min(firstRecord+Integer.parseInt(行),totalCount);
List row=eq.query(Integer.parseInt(request.getParameter(“page”)),Integer.parseInt(rows));

对于(int i=firstRecord,j=0;i在
if
语句中首先添加空检查:

 if (request.getParameter("action") != null && request.getParameter("action").equals("fetchData")) {

 }

出现异常是因为
请求。getParameter(“action”)
null
。它为null是因为表单中没有名为
action
的字段

如果您将表单修改为:

<form action="JQGridServlet">
 <input name="action"></input>
 <input type="submit" name="submit" value="submit"/>
</form>


当然,名为
action
的表单元素的类型取决于您的逻辑。

原因是没有“action”html表单中的参数i have added action应该是输入元素您拥有的元素是表单属性,它没有给出异常。但也没有打印参数submit的值。@user2095748:检查表单是否有名为
action