A Day In The Life

とあるプログラマの備忘録

struts-configのforwardタグについて

パンくずリストの開発をしていて気づいたことなんですが、

たとえばこんな画面があったとして
画面イメージ
画面遷移がこんな感じだとすると
画面フロー
今まではstruts-configに

<action-mappings>
 <action path="/entry" type="app.ScreenEntryAction">
  <forward name="confirm_success" path="/confirm.jsp" />
  <forward name="confirm_fault" path="/entry.jsp" />
  <forward name="back_success" path="/menu.jsp" />
  <forward name="back_fault" path="/entry.jsp" />
 </action>
</action-mappings>

と書いてました。

ようはボタン1つに対してforwardを2つ書いてたわけです。

なんか違和感あるなぁ...。

これならどうでしょ。

<action-mappings>
 <action path="/entry" type="app.ScreenEntryAction">
  <forward name="confirm" path="/confirm.jsp" />
  <forward name="menu" path="/menu.jsp" />
  <forward name="fault" path="/entry.jsp" />
 </action>
</action-mappings>

これだとシンプルだし、なんとなくしっくりいきますね〜。



パンくずリストの表示にはforwardタグのname属性を使うのでstruts-configの書き方が非常に大事になってくるわけです。

いろいろ考えてるうちに自然とこうなりました。