アプリ版:「スタンプのみでお礼する」機能のリリースについて

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に限らず「フレームワークでは規約があって規約通りに記述しないと動かない~」
ということも知っていますが、
このような構成にすることは可能なのでしょうか?

A 回答 (2件)

> Action内で相対パス


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

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

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

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

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

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

お礼日時:2010/09/17 20:24

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



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
    • good
    • 0
この回答へのお礼

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

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

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

お礼日時:2010/09/08 16:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!