uebu: Strutsのトラブルシューティングメモ:
ここに書いてある原因と解決策はあくまで私がやったミスとその解決策であり、 その現象に対する原因や解決策がすべて書いてあるというわけではありませんのでご注意下さい!
- フォワード先が空白になる
・mapping.findForward()で指定したフォワード名がstruts-config.xmlのActionの定義に書かれていない。
・Actionがexecuteメソッドをオーバーライドしていない。 またはメソッド名が間違っているため、正しくオーバーライドできていない。
・Actionのexecuteメソッドのシグネチャが異なるため、正しくオーバーライドできていない。 - JSP文書にアクセスするとJavaScriptエラー
・html:formタグのfocus属性に書かれた名前の入力欄(プロパティ)が存在しない。 - サーブレット action が利用できません
・struts-config.xmlの構文エラー、 またはcontrollerタグやpluginタグに記述したクラスがロードできないなどの理由で、 ActionServletの初期化に失敗している。 →サーブレットコンテナのログを見て、エラー原因を解消します。 - パス /****** に対するリクエストは無効です
・html:formのaction属性(など)として指定したパスが、struts-config.xmlに定義されていない。 - javax.servlet.ServletException: Exception creating bean of class …: {1}
・struts-config.xmlのform-beanに書いたクラスが存在しない。
・struts-config.xmlのform-beanに書いたクラスがActionFormを継承していない。
・struts-config.xmlのform-beanに書いたクラスがインスタンス化できない (例:抽象クラス、引数のないpublicのコンストラクタがない)
・struts-config.xmlのform-beanに記述するDynaActionFormなどのクラス階層が間違っている。 org.apache.struts.action.とorg.apache.struts.validator.に特に注意。
・DynaActionFormのつもりで間違ってActionFormと書いている。 ActionFormは抽象クラスなのでインスタンス化できません。 - html:formの入力内容が自作Form