java - 在struts 1.3中设置arraylist时出现空指针异常

标签 java struts-1

当我考虑将数组列表值设置为数组列表 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/

相关文章:

html - 使用 tomcat 查看文件时,HTML 中的非英文字符出现乱码

java - 我不明白 Node.next 是如何工作的

java - 如何使用java文档和类

java - 如何使用 Java 在 OS X 上的扩展文件属性中存储散列?

java - 我如何修复 org.hibernate.PersistentObjectException 错误?

javascript - 如何在 struts 1.3.10 中显示警告框?

javascript - 在屏幕上显示 javascript 验证消息而不是警报消息?

java - J面板: layout help needed

java - 是否可以将类对象作为隐藏变量从 JSP 传输到操作

java - 有什么不同