こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Seaser2のフォルダ構成について

Seaser2のフォルダ構成について

下記の構成
eclipse3.5
jdk1.6
Seasar2のプラグイン各種
Doltengを使用してプロジェクトを作成しています。

状況管理システムというシステムを考えていて、
ログイン画面と状況一覧画面のAction、ActionForm、jspを作成し、
ログイン画面からログインをしたところ以下のエラーが発生しました。
「HTTPステータス 404 - /TEST/WEB-INF/view/login/Itiran.jsp」

LoginAction内では、
「return Itiran.jsp;」
と記述しており、

JSPの配置を下記のような配置にしているので
WEB-INF
└view
├login─login.jsp
└itiran─itiran.jsp

当然といえば当然ですが、あるサイトをみたら
「JSPのルートにユースケース名のフォルダを作成し、そこに対象のページを作成する。」
ということ記事があったのでこのような構成を考えました。

でも本音は
WEB-INF
└view
└jokyo
├login.jsp
└itiran.jsp
のような構成にしたいのです。
Seasar2に限らず「フレームワークでは規約があって規約通りに記述しないと動かない~」
ということも知っていますが、
このような構成にすることは可能なのでしょうか?

投稿日時 - 2010-09-07 21:55:16

QNo.6166147

困ってます

質問者が選んだベストアンサー

> Action内で相対パス
> 「../itiran/itiran.jsp」で指定すれば遷移はできるのですが、
> こういうやり方が普通なのかどうかがイマイチわかりません…。

確かに、Action に紐づく JSP が 1 つ(itiran.jsp)だけだと
違和感を感じるかもしれませんが、
SAStrurs は、1 つの Action で複数の実行メソッドを持つことができ、
それぞれ違う JSP に遷移できます。

ですので、
/itiran/itiran.jsp
/itiran/kensaku.jsp
/itiran/~.jsp
など、複数の JSP が紐づいた場合に、
アクション名のディレクトリで管理できます。

投稿日時 - 2010-09-09 00:29:53

お礼

返事が送れて申し訳ありません。

こういう管理ができるのですね。
例を挙げて頂き良く理解できました。

ご回答ありがとうございました。

投稿日時 - 2010-09-17 20:24:39

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

答えはわからないのでアドバイス程度に、、、

Seasar は「設定より規約(CoC)」のフレームワークのため、
規約を守らないと動作しない部分があります。
(その分、XMLによる設定を記述しなくてよい)

質問の JSP の配置場所ですが、web.xml に
<context-param>
 <param-name>sastruts.VIEW_PREFIX</param-name>
 <param-value>/WEB-INF/view</param-value>
</context-param>
と、view の場所を記述していますが、
あくまでJSPファイルのルートしか指定していないので、
このルート配下以外に置く場合は、SAStruts(?)からはアクセスできないのではと思います。

http://sastruts.seasar.org/index.html

投稿日時 - 2010-09-08 09:40:21

お礼

ご回答ありがとうございます。

web.xmlで置き場所を設定していることは納得なのですが、
viewの下にアクション名のフォルダを切らなければならないのかなぁと。

Action内で相対パス
「../itiran/itiran.jsp」で指定すれば遷移はできるのですが、
こういうやり方が普通なのかどうかがイマイチわかりません…。

投稿日時 - 2010-09-08 16:45:57