我想弄明白为什么我会得到空指针异常。
当我尝试执行addformservlet时。 在这个问题上帮助我,我是jsp servlets的新手。
请帮帮我..
我被困在一部分......
addform servlet:
processRequest(HttpRequest req,HttpResponse res)
{
String []erlist=null;
PrintWriter out = response.getWriter();
response.setContentType("text/html;charset=UTF-8");
try {
out.println("<html>");
out.println("<head>");
out.println("<title>Add dvd :</title>");
out.println("</head>");
out.println("<body bgcolor='#E6599'>");
if(erlist!=null)
{
out.println("<p>");
out.println("<font color='red'>Correct the following errors:");
out.println("<ul>");
for(int i=0;i<erlist.length;i++)
out.print("<li>"+erlist[i]+"</li>");
out.println("</ul>");
out.println("</font>");
out.println("<a href='index.jsp'> back to index page</a>");
out.println("</p>");
}
erlist=(String [])request.getSession().getAttribute("elist");// i get errlist from dvdaction.java
out.println("<h2>Add DVD: </h2>");
out.println("<form action='dvdaction' method='post' >");//post page to dvdaction.java
//some codes here....
out.println("</form>");
out.println("</body>");
out.println("</html>");
}
//dvdaction.java:
processRequest(HttpRequest req,HttpResponse res)
{
String err[]=null;
try {
title=(String)request.getParameter("title");
int i=0;
if(title.trim().length()==0)
{
err[i]="Please add the title field";
i++;
}
if(err.length==0)
{
//some codes here...
}
request.getSession().setAttribute("elist", err);// i set err Arraylist here...
RequestDispatcher rd=request.getRequestDispatcher("adddvdformservlet");
rd.forward(request, response);
}
答案 0 :(得分:0)
在分配任何值之前,您需要初始化err
数组
在dvdaction.java
中,将其初始化为String err[]=new String[5];
,然后设置它的值,否则会抛出java.lang.NullPointerException
答案 1 :(得分:0)
你应该移动这个陈述
erlist=(String [])request.getSession().getAttribute("elist");// i get errlist from dvdaction.java
前
if(erlist!=null)
{
out.println("<p>");
out.println("<font color='red'>Correct the following errors:");
out.println("<ul>");
for(int i=0;i<erlist.length;i++)
out.print("<li>"+erlist[i]+"</li>");
out.println("</ul>");
out.println("</font>");
out.println("<a href='index.jsp'> back to index page</a>");
out.println("</p>");
}
在设置“err[i]="Please add the title field";
”之前,您应该初始化您想要的错误或项目数量。让我们假设为10
String err[]=new String[10];
我希望这可以提供帮助!