logo

サイト内検索
ココログ最強検索 by 暴想

最近のトラックバック

無料ブログはココログ

« ext.jsについて | トップページ | Tomcat関連 »

Struts関連

Struts関連


No getter method for property xxxx

[ServletException in:/WEB-INF/InvestNavi.jsp]
No getter method for property locGroup of bean org.apache.struts.taglib.html.BEAN'

原因1
このJSPにデータを提供するBean(ViewHelper)上にgetterが無い。(この場合property locGroupのgetterが無い)

原因2
struts-config.xmlの定義の問題。JSPのhtml:form action=に指定したPathに対応するaction要素に対応するform-bean要素にpropertyが無い。(この場合locGroupが無い)



Cannot find message resources

javax.servlet.jsp.JspException: Cannot find message resources under key org.apache.struts.action.MESSAGE

原因1
struts-config.xmlの文法エラー。

tomcat立ち上げ時のlogにSAXParseExceptionが発生していないか確認する。




does not define a handler property

javax.servlet.ServletException: DispatchMapping[/user/kagi] does not define a handler property

原因1
DispachActionを使用している場合にもかかわらず、struts-configのaction mapping上に parameter="xxxx"の指定が無い。



No input attribute for mapping path /xxxx

javax.servlet.error.message  No input attribute for mapping path /admin/role

原因1
ValidatorのチェックがNGとなったが、Action Mappingにinputの指定が無い。エラーの遷移先が決められないため。



ブラウザーの画面一杯にValidatorのJavaScriptが表示される。


原因1
validation.xmlのフォーム名の指定がJSP等と合っていない。



Actionクラスに制御が渡らない。


原因1
該当フォームのValidatorのチェックがNGになる条件が発生している。

対処方法1.1
Vilidation.xmlの該当フォームのチェックロジックをはずす。

対処方法1.2
ValidatorのチェックがNGにならないように対処する。



Cannot find bean hoge in any scope

javax.servlet.jsp.JspException: Cannot find bean hoge in any scope

原因1
JavaプログラムがセットしたメッセージのkeyがMessageResources.propertiesに存在しない。



does not contain handler parameter named xxxxx

Request[/user/kasidasi] does not contain handler parameter named action

原因1
DispacheActionを使用していてメソッド選択用のパラメータ(この場合action)に対応するメソッドが無い

対応1.1
選択用のパラメータに対応するメソッドをActionクラスのgetKeyMethodMap()で指定する。

原因2
linuxサーバーの場合で、URL上に指定されたリクエストパラメーターに日本語が使用されている。

↓そもそもなぜこの問題が発生するのか

「wiki.txt」

対応2.1
リクエストパラメーターを英数字にする。

対応2.2
GETメソッドの代わりに、POSTメソッドを使用してURL上にリクエストパラメーターが乗らないようにする。



Cannot find bean under name org.apache.struts.taglib.html.BEAN


原因
<html:form>タグをstrutsのタグライブラリーで記述していない



java.lang.IllegalArgumentException: No bean specified

症状
[ shohinmaker.shohinMakerCd ]のように、『オブジェクト内オブジェクトのプロパティ』をドット連結でJSPより参照する場合に、そのFormのサブミット時にExceptionが発生する場合があります。

Eclipseコンソールに表示されるException表示

javax.servlet.ServletException: BeanUtils.populate/cause=null/root cause
   =java.lang.IllegalArgumentException: No bean specified

原因1
Strutsにより、ActionFormBeanにリクエストパラメーターを設定しようとした際に、ドット連結の元オブジェクト(上記例:shohinmaker)がNULLの場合、またはそのオブジェクトのgetter自体がActionFormBeanに無い場合に発生します。

対応1-1
ドット連結の元オブジェクトをActionFormBeanのgetterから提供できるようにする。

対応1-2
ドット連結しないでデータ提供できるように、対応するプロパティのgetter、およびjspを修正する。



こちらの資料も参考になります。↓

Common Struts Errors and Causes : http://fedora/fswiki/ref/doc/CommonStrutsErrors.htm

« ext.jsについて | トップページ | Tomcat関連 »

エラー対処方法集」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1482716/39211849

この記事へのトラックバック一覧です: Struts関連:

« ext.jsについて | トップページ | Tomcat関連 »