Jsp servlet中单击按钮后出现空指针异常
我只是使用按钮将控制从jsp传递到Servlet。 但当我单击submit按钮时,我在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扩展
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