nasu @Wiki
http://w.atwiki.jp/nasunasu/
nasu @Wiki
ja
2005-08-22T16:38:27+09:00
1124696307
-
Struts トラブルシューティング
https://w.atwiki.jp/nasunasu/pages/5.html
<ul>
<li><b>フォワード先が空白になる</b><br>
・mapping.findForward()で指定したフォワード名がstruts-config.xmlのActionの定義に書かれていない。<br>
・Actionがexecuteメソッドをオーバーライドしていない。またはメソッド名が間違っているため、正しくオーバーライドできていない。<br>
・Actionのexecuteメソッドのシグネチャが異なるため、正しくオーバーライドできていない。</li>
</ul>
<br>
<ul>
<li><b>JSP文書にアクセスするとJavaScriptエラー</b><br>
・html:formタグのfocus属性に書かれた名前の入力欄(プロパティ)が存在しない。</li>
</ul>
<br>
<ul>
<li><b>サーブレット action が利用できません</b><br>
struts-config.xmlの構文エラー、またはcontrollerタグやpluginタグに記述したクラスがロードできないなどの理由で、ActionServletの初期化に失敗している。→サーブレットコンテナのログを見て、エラー原因を解消します。</li>
</ul>
<br>
<ul>
<li><b>javax.servlet.ServletException: Exception creating bean of
class...:{1}</b><br>
・struts-config.xmlのform-beanに書いたクラスが存在しない。<br>
・struts-config.xmlのform-beanに書いたクラスがActionFormを継承していない。<br>
・struts-config.xmlのform-beanに書いたクラスがインスタンス化できない(例:抽象クラス、引数のないpublicのコンストラクタがない)<br>
・struts-config.xmlのform-beanに記述するDynaActionFormなどのクラス階層が間違っている(org.apache.struts.action.とorg.apache.struts.validator.に注意。またDynaActionFormのつもりで間違ってActionFormと書いていないかにも注意。ActionFormは抽象クラスなのでインスタンス化できません)</li>
</ul>
<br>
<ul>
<li><b>html:formの入力内容が自作Form Beanに保存されない</b><br>
・ActionFormやValidatorFormではなく、DynaActionFormを継承してFormBeanを作っている。</li>
</ul>
<br>
<ul>
<li><b>HTTP Status 500: No action instance for path /***Action
couldbecreated</b><br>
・struts-config.xmlでActionクラスに指定したクラスが存在しない。</li>
</ul>
<br>
<ul>
<li><b>No action instance for path /***Action could
becreatedjava.lang.ClassCastException
atorg.apache.struts.action.RequestProcessor.processActionCreate(RequestProcessor.java:326)</b><br>
・struts-config.xmlでActionクラスに指定したクラスがActionを継承していない。</li>
</ul>
<br>
<ul>
<li><b>validation.xmlによるバリデーションが効かない</b><br>
・struts-config.xmlにValidationプラグインを書いていない<br>
・validator-rules.xml、validation.xmlが/WEB-INFに存在しない。<br>
・struts-configのActionの定義でvalidate="true"になっていない。<br>
・Actionが指定するFormBeanがDynaValidatorFormではなく自作Beanで、その中にvalidate()メソッドが実装されていない。<br>
・struts.jarとvalidator-rules.xmlのバージョンが合っていない(ログを注意深く見るとエラーになっているはず)</li>
</ul>
<br>
<ul>
<li>
<b>入力が正しいはずなのにバリデーションエラーになる</b><br>
・validation.xmlのfieldproperty=のプロパティ名が間違っている(存在しない)</li>
</ul>
<br>
<ul>
<li>
<b>フォームに前回入力した内容が保持されていない</b><br>
・Actionのscopeがrequestになっている(入力内容を保持するにはsessionにするか、何も書かない)<br>
・html:textタグなどでvalue属性で初期値を設定している</li>
</ul>
<br>
<ul>
<li>
<b>メッセージ・リソースを参照したメッセージが表示されない</b><br>
・struts-config.xmlのmessage-resourcesにApplicationPropertiesの設定を書いていない。<br>
・struts-config.xmlのmessage-resourcesのクラス階層が間違っている(他アプリケーションのstruts-config.xmlを流用したときなどに大注意)<br>
・ApplicationResources.propertiesファイルの更新漏れ(日本語は直で書けないので他所で編集することが多いが、最終的な.propertiesファイルの置き場所に反映できていない)<br>
・JSPにtaglibディレクティブでbeanタグライブラリの宣言をしていない(ページのソースを表示すると、bean:writeタグがそのまま出力されているケース)</li>
</ul>
<br>
<ul>
<li><b>javax.servlet.UnavailableException: Parsing error
processingresourcepath</b><br>
・struts-config.xmlのmessage-resourcesの中がリソース・パスとして認識できない。またはその直前のコメントの開閉タグがおかしく、message-resourcesタグが正しく認識されていない。</li>
</ul>
<br>
<ul>
<li>
<b>javax.servlet.ServletException:DispatchMapping[/Actionマッピング]does
not define a handlerproperty</b><br>
・DispatchActionを継承したActionクラスに対して、struts-config.xmlのActionの設定でparameter属性を書いていない。</li>
</ul>
<br>
<ul>
<li><b>Request[/Actionマッピング] does not contain handler
parameternamed{パラメータ名}</b><br>
・LookupDispatchActionで、Actionの設定に書いたparameter属性の値と、JSP文書のフォームのhtml:submitタグのpropertyの値が違う。<br>
・LookupDispatchActionで、Submitボタンのラベルとして使うキーに日本語を使っているが、リクエスト変数のエンコーディングの設定をしていない(<a href="http://www4.atwiki.jp/_epoz/struts-memo.html">Strutsメモ</a>のエンコーディングの設定をすると直る)</li>
</ul>
<br>
<ul>
<li><b>Action.execute()で引数のformがnull</b><br>
・struts-config.xmlでname、attribute属性を設定していない。</li>
</ul>
<br>
<ul>
<li><b>javax.servlet.ServletException: Cannot retrieve definition for
formbeannull</b><br>
・JSPの中に、html:formタグがあるとして、そのaction属性で指定されたActionをAとします。struts-config.xmlのアクションAの定義に、name、attribute属性が設定されていないとこのエラーになります。</li>
</ul>
<br>
<ul>
<li><b>javax.servlet.ServletException: No getter method for property ***
ofbeanorg.apache.struts.taglib.html.BEAN</b><br>
・あるJSPにフォームFがあるとします。<br>
Fにはhtml:textタグなどでpropery="p"という指定のタグがあるとします。<br>
Fのaction=で指定しているActionをAとします。<br>
Aにstruts-config.xml上でマップされているフォームアクションBeanをBとします。<br>
Bのstruts-config.xml上の定義に、プロパティ"p"が存在しないとこのエラーになります。</li>
</ul>
<br>
<ul>
<li><b>javax.servlet.jsp.JspException: Cannot find
ActionMappingsorActionFormBeans collection</b><br>
・サーブレットコンテナのログを見たら相当致命的な別のエラーが出ている。それを直すと解決する(かも)</li>
</ul>
<br>
<ul>
<li><b>javax.servlet.UnavailableException: Initializing application
datasourceorg.apache.struts.action.DATA_SOURCE</b><br>
・struts-config.xmlのdata-sourceタグで指定している接続ぷーリングつきのデータソースに接続できない。DBMSがダウンしていないか、接続情報が正しいかを確認します。</li>
</ul>
<br>
<ul>
<li><b>java.lang.NullPointerException: 空の属性名です<br>
atorg.apache.jasper.runtime.PageContextImpl.findAttribute(PageContextImpl.java:450)</b><br>
・logic:iterateカスタムタグで、コレクション要素を(name、name+property、collectionのいずれかの属性で)指定していない。</li>
</ul>
<br>
<ul>
<li><b>The requested resource (/***) is not available.(HTTP ERROR 404)</b><br>
・struts-config.xmlのActionの定義で、input属性で指定したパスの文書が存在しない。(先頭にスラッシュがついているかどうか、拡張子がついているかも注意)</li>
</ul>
<br>
<ul>
<li><b>No input attribute for mapping path /***</b><br>
・Actionのバリデーションに引っかかったが、struts-config.xmlのActionの定義で、input属性で戻るパスを指定していない。</li>
</ul>
<br>
<ul>
<li>
<b>java.lang.NullPointerExceptionorg.apache.commons.beanutils.PropertyUtils.getIndexedProperty(PropertyUtils.java:515)</b><br>
・(エラーの内容は場合によって異なるはずです)BeanUtils.populateでNullPointerExceptionが発生するよくある原因は、FormBeanのスコープをrequestにしているのに、2画面以上のActionの情報の受け渡しに使おうとしている場合です。素直にスコープをsessionにします。</li>
</ul>
<br>
<ul>
<li>
<b>nested:iterateループの中でbean:writeを使ってもnestedのBeanのプロパティを印字できない</b><br>
・bean:writeのnested版でnested:writeというタグがあります。nested:writeの属性はname=ではなくproperty=なので注意。</li>
</ul>
2005-08-22T16:38:27+09:00
1124696307
-
Struts
https://w.atwiki.jp/nasunasu/pages/4.html
<h1>Strutsについて</h1>
<br>
<h2>validation</h2>
<p><a href=
"http://kamakura.cool.ne.jp/oppama/ssja/struts-message.html">http://kamakura.cool.ne.jp/oppama/ssja/struts-message.html</a></p>
<u><a href="http://www.javaroad.jp/opensource/js_struts17.htm"><font color=
"#800080">http://www.javaroad.jp/opensource/js_struts17.htm</font></a></u><br>
<br>
2005-07-14T14:13:01+09:00
1121317981
-
トップページ
https://w.atwiki.jp/nasunasu/pages/1.html
*@wikiへようこそ
-ウィキはみんなで気軽にホームページ編集できるツールです。
-このページは自由に編集することができます。
-メールで送られてきたパスワードを用いてログインすることで、各種変更(サイト名、トップページ、メンバー管理、サイドページ、デザイン、ページ管理、等)することができます
■ 新しいページを作りたい!!
-ページの下や上に「新規作成」というリンクがあるので、それをクリックしてください。
■ 表示しているページを編集したい!
-ページ上の「このページを編集」というリンクや、ページ下の「編集」というリンクを押してください。
■ ブログサイトの更新情報を自動的に載せたい!!
-[[お気に入りのブログのRSSを使っていつでも新しい情報を表示できます。詳しくはこちらをどうぞ。>http://atwiki.jp/tools/blogrssmaker.html]]
■ ニュースサイトの更新情報を自動的に載せたい!!
-[[RSSを使うと簡単に情報通になれます、詳しくはこちらをどうぞ。>http://atwiki.jp/tools/rssmaker.html]]
■ その他にもいろいろな機能満載!!
-[[詳しくは、FAQ・初心者講座@wikiをみてね☆>http://www1.atwiki.jp/faq/]]
**分からないことは?
-[[@wikiの詳しい使い方はヘルプ・FAQ・初心者講座@wikiをごらんください。メールでのお問い合わせも受け付けております。>http://www1.atwiki.jp/faq/]]
-[[ユーザ同士のコミュニケーションにはたすけあい掲示板をご利用ください>http://jbbs.livedoor.jp/computer/19259/]]
-要望・バグ・不具合報告はメールでお気軽にお問い合わせください。
2005-07-14T13:53:32+09:00
1121316812
-
メニュー
https://w.atwiki.jp/nasunasu/pages/2.html
-[[トップページ]]
-[[メニュー]]
*更新履歴
#recent(10)
2005-07-14T13:53:32+09:00
1121316812
-
メニュー2
https://w.atwiki.jp/nasunasu/pages/3.html
**更新履歴
#recent(10)
2005-07-14T13:53:32+09:00
1121316812