- - PR -
strutsでvalidateを使用した処理についてのご相談
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-10-03 11:33
strutsで開発を行っております。
フレーム内に表示させたjsp(検索画面)から、検索ボタンを押下することで フレーム内ではなく、新しい画面をポップアップさせ、そこに検索結果画面を 表示させております。 ご相談の内容として、 検索画面で入力した値をActionでFormにセットしたValidateメソッドを呼出し、 ActionErrorsに値があるかどうかでreturn (mapping.findForward)させているのですが、 結果画面を<html:form target="reportAccountProperty2">の処理で新しい画面表示をさせて いることから、入力エラーがあった際に検索画面がフレーム内のとは別に、 新しくポップアップされて検索画面とそのエラーワードが表示されてしまいます。 Validate機能でどのようにしたら、 ・入力エラーがあった際はフレーム内の元の検索画面に ・入力エラーがない場合は新しい画面で結果画面を表示 することができますでしょうか? test1.jsp(検索画面)==================================================================== <html:form action="/test1" target="test2"> <html:text property="date1" /> <html:submit property="submit" value="検索"/> </html:form> =============================================================================== action.java==================================================================== public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { TestForm form = (TestForm) form; // 入力チェックを行う ActionErrors wActionErrors = new ActionErrors(); if(form.isValidate(wActionErrors) != null) { request.setAttribute("key", wActionErrors); return (mapping.findForward("ng")); }else{ return (mapping.findForward("success")); } =============================================================================== actionForm.java================================================================ public ActionErrors isValidate(ActionErrors wActionErrors) { // 入力チェックの処理 return wActionErrors; } =============================================================================== お忙しいところ、申し訳ございません。 皆様、アドバイスをお願い致します。 [ メッセージ編集済み 編集者: java初心者 編集日時 2007-10-03 13:06 ] |
|
投稿日時: 2007-10-03 12:01
最近はStrutsから離れてる為うろ覚えですが、
Servletを書き換えれば良いのではないでしょうか。 |
|
投稿日時: 2007-10-03 12:57
targetを_self、フォワード先は検索画面にした状態で、
検索画面内で ・入力されていなければ普通に表示 ・入力エラーがあった場合はエラーワードを表示 ・入力エラーがない場合はJavaScriptで結果画面をポップアップ でいかがでしょうか |
|
投稿日時: 2007-10-03 14:22
さる様
ykSiR様 アドバイスありがとうございます。 大変申し訳ございませんが、 ご回答に対して、スキル不足からイメージが 出来ませんでした。 もし、お時間がありましたら、 もう少し、具体的にアドバイスを頂けないでしょうか? 宜しくお願い致します。 |
|
投稿日時: 2007-10-03 14:33
簡潔に言いたかった事を書くと
strutsのソースを読んだらどう? です。 |
|
投稿日時: 2007-10-03 15:24
1.エラーチェックのみのservletを用意し、エラー結果を検索画面に返す。
2.エラーだったらエラー表示。 3.正常ならば、onload時にjavascriptから、検索結果を表示する別画面を表示する。 |
|
投稿日時: 2007-10-03 17:06
さる様
KOX様 お忙しいところ、ご返信ありがとうございます。 javascriptから検索結果を表示させたいのですが、 Actionで、DBから検索結果を取得している関係で、 Actionへいかず別画面へのwindow.open()が出来ないのです・・・。 (入力した日付をActionへ渡さなくてはならないんです・・・。) さる様のおっしゃる通り、 ソースの確認を再度してみます。 お時間がありましたら、 アドバイスをお願い致します。 |
|
投稿日時: 2007-10-03 18:48
>Actionへいかず別画面へのwindow.open()が出来ないのです・・・。
javascriptだけで行うわけではありません。 言葉足らずですね。申し訳ない。 エラーチェックと検索結果の表示を別servletで行います。 3.のときに、onloadと同時に、検索結果を表示するservletを呼びます。 3.のときにはチェックが通っているのでエラー判定は不要なります。 (エラー判定をしたというチェックは必要。) |