質問: Strutsの実行時エラーについて質問です。 現在StrutsでWebアプリケーションを製作中なのですが、 実行するとブラウザに以下のエラーが表示されます。 type 例外レポート メッセージ javax.servlet.ServletException: javax.servlet.jsp.JspException: クラス java.XxxForm のbeanを生成する際の例外: XxxForm 説明 The server encountered an internal error that prevented it from fulfilling this request. struts-config.xmlに記述の誤りがあるのかと思い、 確認しましたが特に問題ないようです。 また、下記の内容も確認しました。 ・JSPファイルのhtml:formタグのaction属性の値 ・アクションフォーム、アクションクラスの内容 解決方法がなかったため、こちらで質問させていただきました。 詳しい方がいらっしゃいましたらよろしくお願いします。 実行環境 eclipse Tomcat 7.0 Struts 1.3.10
回答: `XxxForm`を設定している部分のパッケージ名が違っていませんか? > > クラス java.XxxForm のbeanを生成する際の例外 > > > `XxxForm`は`java`というパッケージにあるんですか? そのエラーメッセージを出力しているStrutsのコードは以下のようになっています。 ``` try { Class clazz = Class.forName(type); bean = clazz.newInstance(); if (bean instanceof ActionForm) ((ActionForm) bean).setServlet(servlet); } catch (Exception e) { throw new JspException (messages.getMessage("formTag.create", type, e.toString())); } ``` つまりクラスのインスタンス化に失敗しているので、`java.XxxForm`というクラスが無いか、正しい引数のコンストラクタが無い等の原因が考えられます。