menu
書いてる野郎
orebike@gmail.com
公式のドキュメントによると・・・ Super Agile Struts - Feature Reference
ということのようだ。
http://a.b.co.jp/hoge/piyo/
というものだと・・・HogeAction
の piyo
メソッドを実行することになる。
Action をさらにパッケージ分割などするとおかしいことになるとおうが、 それはそれで優先順位があるツリー構造で名前がバッティングしないようにつければスラッシュでディレクトリを潜るように指定することでちゃんと呼び出せるようになっている。
つまりパッケージ名、Action名、メソッド名が階層を超えて重複させんなよ。
パラメータを自由に取れるようになると、当然そのパラメータ次第ではメソッド名とかぶってしまう状況も出てくる。 このような場合SAStrutsでは明示的に付けられているメソッド名を優先しパターンのほうは最後に使って解決するようである。
逆に言うと、パターンが取りうるパラメータは既存のメソッドと被らないように考慮する必要があるということだ。
開発中は
http://localhost:8080/hoge/
みたいなURLがアプリのルートになっていると思う。
これを、ROOT.war
で書き出してドメインのルートと一致させるのが正攻法。
この場合
${ f:url("hogehoge") }
のような記述もちゃんと追従する。
http://localhost/hoge/
でアクセスして
ajp://localhost:8009/piyo/
に繋ぐようなやつはSAStruts側でhoge
を検出できないので
${ f:url("hogehoge") }
の記述がおもいっきりズレる
同様に
http://localhost/
でアクセして
ajp://localhost:8009/piyo/
に繋ぐようなやつも階層がズレてちゃんと繋がらない。
http://localhost:8080/aaaa/ http://localhost:8080/aaaa/index/
return “index.jsp”の場合の参照されるindex.jsp
view/index.jsp
return “/index.jsp”の場合の参照されるindex.jsp
view/index.jsp
http://localhost:8080/aaaa/piyo
return “index.jsp”の場合の参照されるindex.jsp
view/index.jsp
※view/piyo/index.jspが存在しても↑が参照される。
return “/index.jsp”の場合の参照されるindex.jsp
view/index.jsp
http://localhost:8080/aaaa/hoge/ http://localhost:8080/aaaa/hoge/index
return “index.jsp”の場合の参照されるindex.jsp
view/hoge/index.jsp
return “/index.jsp”の場合の参照されるindex.jsp
view/index.jsp
return “../index.jsp”の場合の参照されるindex.jsp
view/index.jsp
return “../piyo/index.jsp”の場合の参照されるindex.jsp
view/piyo/index.jsp
http://localhost:8080/aaaa/piyo/ http://localhost:8080/aaaa/piyo/index
※IndexActionのpiyoメソッドとアクセスするURLが被っている
アクセスされるAction
PiyoAction
http://localhost:8080/aaaa/fuga/ http://localhost:8080/aaaa/fuga/index
return “index.jsp”の場合の参照されるindex.jsp
view/fuga/index.jsp
http://localhost:8080/aaaa/fuga/ http://localhost:8080/aaaa/fuga/index
※FugaActionのindexメソッドとアクセスするURLが被っている アクセスされるAction IndexActionのfugaメソッドにアクセスされる。
http://localhost:8080/aaaa/fuga/fugafuga/ http://localhost:8080/aaaa/fuga/fugafuga/index
return “index.jsp”の場合の参照されるindex.jsp
view/fuga/fugafuga/index.jsp