- - PR -
Struts html:textを記述するとエラー
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2003-07-31 13:08
初めまして。
Strutsを勉強しているところなのですが、よくわからない現象に困っています。 Tomcat 4.1、Struts 1.1という環境なのですが、JSPファイルの中に <html:text ・・・ を記述すると以下のようなエラー画面が表示されます。 HTTP Status 500 - type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: Exception thrown by getter for property name of bean org.apache.struts.taglib.html.BEAN 以下省略 JSPファイルの中に以下のようなテキストボックスのタグを記述しているのですが、 その記述を削除すると、エラーにはなりません。 <html:text property="name" size="10" maxlength="10"/> html:textareaもエラーになります。 でも、html:submit、html:reset、html:form、html:passwordはエラーになりません。 Strutsのサンプル「struts-example」のJSPファイルに自分で「html:text」を 追加すると、やはり同じエラーで表示できません。 正しく表示されるJSPファイル内のhtml:text のpropertyの値を変更しても 表示できなくなります。 最初は正常に表示できていたのに、何かのタイミングで表示できなくなりました。 どういったことが考えられますでしょうか? よろしくお願い致します。 |
|
投稿日時: 2003-07-31 13:26
<html:text>タグのname属性が記述されていないからではないでしょうか?
詳しくは、以下を参照して下さい。 http://jakarta.apache.org/struts/userGuide/struts-html.html#text |
|
投稿日時: 2003-07-31 14:19
こんにちは。
ActionFormに対応するプロパティ名、getter,setterはちゃんと存在してますか? DinaActionFormを使っている場合にはstruts-configに定義してますか? <html:text property="name" size="10" maxlength="10"/> ↑のように書く場合にはnameというプロパティが必要ですよね。 struts-configに使用したいFormの定義は正しく書かれていますか? まずは↑が正しく記述されているかを確認して、原因の切り分けからしていきましょー。 |
|
投稿日時: 2003-07-31 15:18
ご返答ありがとうございます。
name属性を以下のように追加してみたところ、エラーメッセージが変わりました。 いづれにしてもやっぱり意味がわからないのですが・・・。 <html:text property="name" name="XXX" size="10" maxlength="10"/> エラーメッセージ org.apache.jasper.JasperException: Cannot find bean XXX in any scope 元は雑誌に載ってたサンプルのアプリケーションを動かしていて、 実際に動いていただけに、不可解なことばかりです。 Clapさんの書き込まれた内容はほとんど理解できないレベルです。 また基本から勉強します。 |
|
投稿日時: 2003-07-31 15:24
<html:formタグを正しく書いていますか?
これがBeanの名前になります。struts-configと合わせて確認してみてください。 |
|
投稿日時: 2003-07-31 15:24
"<html:form"タグを正しく書いていますか?
これがBeanの名前になります。struts-configと合わせて確認してみてください。 |
|
投稿日時: 2003-07-31 16:09
ご返答ありがとうございます。
ご指摘のこところは以下のようになっています。 <html:form action="/post"> 〜 <html:text property="name" size="10" maxlength="10"/> 〜 </html:form> struts-config.xmlは<form-beans>と<action-mappings>に 記述を追加しました。 <form-beans> <form-bean name="testForm" type="TestForm"/> </form-beans> <action-mappings> <action path="/post" type="TestAction" name="testForm" scope="request"> <forward name="next" path="/list.jsp"/> </action> </action-mappings> |
|
投稿日時: 2003-07-31 17:17
なぜか以下のようにvalue属性を追加すると正常に表示されました。
<html:text property="name" size="10" maxlength="10" value="" /> でも、html:radioやhtml:checkboxはvalue属性を指定しても エラーとなりました。 最初の画面で入力された内容を次の画面で表示したいだけなのですが、 入力を受ける最初の画面のJSPからエラーになってます。 struts-config.xmlはあまり関係ないような気がしますが、 いかがでしょうか? |
