2008-08-01から1ヶ月間の記事一覧

PerformForward

ここまでに取得したForwardConfigのpath属性に従って遷移します。path属性がエイリアスだった場合の実際のパスの解決、タグのforwardPatternに従ったパスの解決をして、Include、Redirect、Forwardに応じて遷移します。 Includeの時の条件、 response.isComm…

RequestUtils#forwardURL()

のforwardPattern属性で指定したパターンに従ってコンテキスト相対パスを返します。のmoduleが"hoge"、pathが"fuga.html"、のforwardPatternが"/$M/$P"だったら"/hoge/fuga.html"になる。 タグのcontextRelative属性がtrueならpath属性をそのままコンテキス…

ModuleUtils.getModuleConfig()

オーバーロードされたメソッドがいっぱいあるが、要はこういうこと。 1.引数のprefixと同じ名前のモジュールをServletContextから取得する。 2.prefixが指定されていない、あるいは引数にServletContextがない場合はHttpServletRequestから現在のモジュ…

RequestUtils#actionIdURL()

actionIdURL()は引数のURLがActionのエイリアスだった場合、実際のActionのパスを取得するためのメソッド。エイリアスはのactionId属性で指定する。引数のURLが"http"または"/"で始まる場合はエイリアスとはみなされない。 ForwardConfigを引数に取る方のメ…

WebActionContext

WebContextのラッパーという位置づけだと思われる。WebActionContextクラスはabstractではないが、ServletActionContextに継承されてナンボのものではないだろうか(WebContextクラスはabstractだし、PortletAtionContextとかないし)。ラッパー以外の昨日と…

ServletActionContext

strutsのComposableRequestProcessorが処理するチェーンに利用する。 ServletActionContextはServletWebContextのラッパーという位置づけだと思われる。ServletWebContextにはPortletWebContextとFacesWebContextという兄弟がおり、彼らの親はWebContextであ…

Contextの系譜

commons-chainのContextインターフェースの系譜もなんだかややこしい。ざっくり言って次の2通りの系譜がある。 1.Context 2.Context 1.の系譜がcommons-chainが提供するもので、2.の系譜はstrutsが提供するもの。途中にContextWrapperがあることから…

ServletContext

ServletContextはWebアプリケーション1個の設定を表しているらしい。後述するServletActionContextやServletWebContexstなんかはcommons-chainのContextを実装しているが、ServletContextはそれとは全く関係ない、Webアプリケーションを表すためだけのインタ…

ExecuteForwardCommand

ActionContextに格納されたForwardConfigがcommand属性(とcatalog属性)を持っていたらそれを実行。 前に出てきたExecuteCommandを継承して作っているのがちょっとおもしろい。