- - PR -
データベースの値をチェックボックスで使用する方法
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-06-13 11:29
お世話になります。
Strutsでデータベースから値を取りだし、チェックボックスやリストボックスのvalueに埋め込みたいと思っております。 以下の情報からソースを書いてみました。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=30108&forum=12&6 しかし、コンパイルできず、エラーになってしまいます。 他の投稿を見て、hiddenなども試してみましたがうまく動きません。 何か解決はございますでしょうか。 よろしくお願い致します。 ----------------------------------------------------------- jsp <html:select property="maker" multiple="true" > <logic:iterate id="data" name="TestForm" scope="request" > <html:option value="<%= data.getmkr(); %>"> <bean:write name="data" property="mkr"/> </html:option> </logic:iterate> </html:select> ※TestFormのプロパティには"mkr"しかありません。 ------------------------------------------------- エラー org.apache.jasper.JasperException: JSPのクラスをコンパイルできません JSPファイル: /test.jsp の中の20行目でエラーが発生しました 生成されたサーブレットのエラーです: Syntax error on token ";", delete this token [ メッセージ編集済み 編集者: まろにえ 編集日時 2007-06-13 11:30 ] | ||||||||
|
投稿日時: 2007-06-13 12:05
親切なエラーメッセージが既に出ています。
Syntax error on token ";", delete this token ヤフー翻訳で翻訳してみました。
tokenが商品券と訳されていますが、構文の最小単位を意味します。 提示されているソースに1箇所だけ[;]がありますよね。 | ||||||||
|
投稿日時: 2007-06-13 12:45
説明が足りず、申しわけありません。
";" も削除も試したんですが、やはりコンパイルはできませんでした。 参考にした情報でも";"はついていたので、そのままにしてました。 -------------------------------------------------------------------- エラー org.apache.jasper.JasperException: JSPのクラスをコンパイルできません JSPファイル: /test.jsp の中の20行目でエラーが発生しました 生成されたサーブレットのエラーです: The method getMkr() is undefined for the type Object [ メッセージ編集済み 編集者: まろにえ 編集日時 2007-06-13 12:47 ] | ||||||||
|
投稿日時: 2007-06-13 14:06
;は不要です。その参考にした情報が間違っています。 Syntax error on token ";", delete this tokenと出ていたでしょう。 その証拠に;を削除したら状況が変化したはずです。
かつのり様も仰っていますが 親切なエラーメッセージが既に出ています。 The method getMkr() is undefined for the type Object メソッドgetMkr()はObjectクラスで未定義だと言っています。 もうちょっと言うと <%= data.getmkr() %> のdataはキャストされていないのでObject型です。 そのために上記のエラーが出ます。 ところで <html:option value="<%= data.getmkr(); %>"> <bean:write name="data" property="mkr"/> </html:option> でやろうとしていること、 実は<html:option>タグ1行で可能です。 http://www.techscore.com/tech/ApacheJakarta/Struts/7.html を参考にしてやってみてください。 | ||||||||
|
投稿日時: 2007-06-13 17:15
ご回答ありがとうございます。
教えて頂いた情報を元に試してみます。 | ||||||||
|
投稿日時: 2007-06-15 17:02
スクリプトレットや、教えて頂いたhtml:optionsで試してみましたが、
いまだエラーに悩まされております。 beanにプロパティはあるのにゲッターメソッドがありませんと言われてしまいます。 ゲッターメソッドが抜けているわけでも、重複しているわけでもないのに現象回避できまえん。 何か解決策はございますでしょうか。 ちなみにhtml:optionsにiterateのような繰り返し処理の機能があると認識しているのですが、あってますでしょうか。 質問ばかりで申し訳ございません。よろしくお願い致します。 ------------------------------------------------------------------ jsp <html:select property="maker"> <html:options name="TestForm" property="mkr" labelName="TestForm" labelProperty="mkr" /> </html:select> ※labelは省略可能とのことですが、とりあえず書いときました。 ------------------------------------------------------------------ エラー org.apache.jasper.JasperException: TestForm という名前のbeanのプロパティ mkr に対するゲッターメソッドがありません | ||||||||
|
投稿日時: 2007-06-15 17:52
このコードが実際のものならば、そのエラーが出力されると思います。 ここは自己解決してほしいところだと思います。。。応援してます! | ||||||||
|
投稿日時: 2007-06-25 19:20
公太郎さんの励ましから早10日…
ついに自己解決しました。ずっと泣きそうでした(><).. なんかデキてみると、すごいあっけないコードです。 たった3行のためにどれだけの時間を費やしたことか 助言をくださった皆様ありがとうございました。 今後ともよろしくお願い致します。 ----------------------------------------------------------- コード <html:select property="maker" multiple="true"> <html:options collection="TestForm" property="mkr"/> </html:select> |