当我考虑将数组列表值设置为数组列表 bean 时,它返回空指针异常。 请检查操作类:
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
ArrayList dailysheetdata;
DailysheetForm dailyform = (DailysheetForm) form;
Class.forName("com.mysql.jdbc.Driver");
Connection connect = DriverManager.getConnection("jdbc:mysql://localhost/Stonecrusher?"
+ "user=Stonecrusher&password=xxxxxx");
System.out.println("Connection"+connect);
dailysheetdata = StoneCrusherData.getDailysheetData(connect);
if(dailysheetdata==null)
System.out.println("dailysheetdata null");
else if(dailyform==null)
System.out.println("dailyform null");
else
dailyform.setArraylist(dailysheetdata) ;//iam getting exception here
return mapping.findForward(SUCCESS);
}
我的行动形式是
public class DailysheetForm extends ActionForm {
// some getter and setter methods i used
protected ArrayList arraylist;
public ArrayList getArraylist() {
return arraylist;
}
public void setArraylist(ArrayList arraylist) {
this.arraylist = arraylist;
}
当我运行它时,我收到以下异常,并且在 Tomcat 日志中显示“dailyform is null”
类型异常报告
消息
描述服务器遇到内部错误(),导致其无法完成此请求。
异常
javax.servlet.ServletException: java.lang.NullPointerException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:520)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:427)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause
java.lang.NullPointerException
com.myapp.struts.DialysheetListAction.execute(DialysheetListAction.java:59)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.27 logs.
我找不到原因。请帮忙解决并说明原因。
最佳答案
问题是DailysheetForm
类对象不是由框架创建的。
您没有配置的原因FormBean
类和Action
类正确地位于 struts-config.xml
首先你应该检查哪个页面(哪些数据?)提交给操作类,即
DailysheetForm dailyform = (DailysheetForm) form;
检查您正在键入的这一行 form
进入DailysheetForm
输入对象然后框架自动调用DailysheetForm
的setter方法行动表格所以也许你在这里得到 NullPointerException
我想所以检查一下..
还有一件事你必须检查 struts-config.xml
条目
即在 <action> tab name attribute value
必须与 <form-beans>
匹配映射
还要检查包名称...
关于java - 在struts 1.3中设置arraylist时出现空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11250354/