- PR -

StrutsのActionFormからJSPに処理を移したい

1
投稿者投稿内容
ジン
ベテラン
会議室デビュー日: 2007/07/27
投稿数: 52
投稿日時: 2007-07-27 11:31
ただ今Stutsで開発を進めています。

StrutsのActionFormのreset・validateメソッドからjspに処理を移せないか迷っております。
(ある例外処理はエラーページに遷移するといった事)

Strutsの考えに、そもそも合わない考えかもしれませんが
方法があればお願いします。
さる
ぬし
会議室デビュー日: 2005/07/14
投稿数: 276
お住まい・勤務地: 実家戻ったw
投稿日時: 2007-07-27 11:48
何したいのかがよく見えませんが
struts-config.xmlでエラーとして指定のJSPに飛ばしてそっちで判断するのは駄目?
ジン
ベテラン
会議室デビュー日: 2007/07/27
投稿数: 52
投稿日時: 2007-07-27 12:05
説明不足で申し訳ありません。

validateメソッドからDBにアクセスしていて、そこで例外が発生した場合
エラーページに遷移させるのが目的です。

struts-config.xmlで指定できるのでしょうか?
さる
ぬし
会議室デビュー日: 2005/07/14
投稿数: 276
お住まい・勤務地: 実家戻ったw
投稿日時: 2007-07-27 13:01
http://mictan.gozaru.jp/struts/index.html
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-07-27 13:28
ActionFormの中からの明示的なフォワードはできませんし、
そもそもアプローチが間違っています。

ただし、ActionFormの中でスローされた例外は、
struts-config.xmlの<global-exception>タグの指定どおりに
ハンドルされますので、エラー画面にフォワードするのは可能でしょう。

ActionFormでは単純な入力値そのものの検証のみを行い、
Actionの中でデータとの関連チェックを行うべきです。
エラーチェックという業務ロジックと、バリデーションの境界を考えましょう。
ジン
ベテラン
会議室デビュー日: 2007/07/27
投稿数: 52
投稿日時: 2007-07-27 14:18
さるさん、かつのりさんありがとうございます。

やはりアプローチが間違っていますか…

<global-exception>タグでActionFormもフォワードできるんですか?
Actionのみと思っておりました。調べてみます。

度々申し訳ないのですが、Strutsで単純なメニュー画面(submitボタンのみ)からフォワードの際フォワード先のJSPにテーブルの中身の一覧を初期表示するという処理で、テーブルの抽出処理はどこで行うべきなのでしょうか?
メニューのActionなのか、フォワード先のActionFormのresetなのか、それとも他に方法があるのか迷っております。
よろしくお願いします。
さる
ぬし
会議室デビュー日: 2005/07/14
投稿数: 276
お住まい・勤務地: 実家戻ったw
投稿日時: 2007-07-27 14:37
引用:

ジンさんの書き込み (2007-07-27 14:18) より:

<global-exception>タグでActionFormもフォワードできるんですか?


あなたの言ってるフォーワードってなんですか?

引用:

ジンさんの書き込み (2007-07-27 14:18) より:
度々申し訳ないのですが、Strutsで単純なメニュー画面(submitボタンのみ)からフォワードの際フォワード先のJSPにテーブルの中身の一覧を初期表示するという処理で、テーブルの抽出処理はどこで行うべきなのでしょうか?
メニューのActionなのか、フォワード先のActionFormのresetなのか、それとも他に方法があるのか迷っております。



仕様に従って下さい。
仕様が決定してないなら仕様を決定すべき人間に仕様を確認して下さい。
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2007-07-27 15:06
一般的な実装方法だと、メニュー画面から飛んだアクションクラスで
データ処理を行ってJSPで表示という作りになると思います。

引用:

ただ今Stutsで開発を進めています



フレームワークを使った開発は、将棋のような定石を一度学ばないと
開発後半になって地獄を見る可能性が高くなります。
ネットでも本屋さんでも良いので、しっかり調査してから作業を行った
方が良いですよ。
1

スキルアップ/キャリアアップ(JOB@IT)