0

配列リストの値を配列リストBeanに設定しようと考えていましたが、nullポインタ例外が返されています。アクションクラスを確認してください:

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ログに「dailyformisnull」と表示されます。

タイプ例外レポート

メッセージ

説明サーバーで内部エラー()が発生したため、この要求を実行できませんでした。

例外

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.

理由がわかりません。それを解決するのを手伝って、理由を述べてください。

4

1 に答える 1

1

問題はDailysheetForm、フレームワークによってクラス オブジェクトが作成されないことです。

FormBean理由はクラスを構成していないためであり、Actionクラスは適切に配置されていますstruts-config.xml

最初に、どのページ (どのデータ?) がアクション クラスに送信されているかを確認する必要があります。

DailysheetForm dailyform = (DailysheetForm) form; 

この行をチェックして、型オブジェクトに型をキャストformすると、フレームワークがアクションフォームのセッターメソッドを自動的に呼び出すので、おそらくここで取得していると思いますので、チェックしてください..DailysheetFormDailysheetFormNullPointerException

struts-config.xmlエントリをチェックインする必要があるもう1つのこと、つまり、マッピング<action> tab name attribute valueと一致する必要がありますパッケージ名もチェックしてください...<form-beans>

于 2012-06-30T11:07:26.143 に答える