Strutsは、JSPにStrutsタグを入れることによって、Tomcat上で動くけど、
どうやって動くのかを、そのタグライブラリから追ってみる
■JSP上に入れたStrutsのタグの展開
<html:form>タグなど、Struts用のタグ(タグライブラリ)の定義は、
"http://struts.apache.org/tags-html"と定義した場合は、
標準タグライブラリから(上記URLにアクセスするわけではない)
"/tags/struts-html"と定義すると、WEB-INFの中にある
wex.xmlのtaglibタグ中の、該当taglib-uriのtaglib-location
にあるtldファイルを検索して、FORMタグのところから
FORMなどに入っているライブラリを探す。
■Jasperで、サーブレットに変換
上記タグライブラリをもとに、JASPERは、JSPをサーブレットに変換する
この結果は、Tomcatのフォルダのworkの下、ずーっといくと、サーブレット
のフォルダがあって、そこで展開されている。
Formタグは、org.apache.struts.taglib.html.FormTagクラスを生成して、
その上で、setActionやsetPropertyを行っている。
org.apache.struts.taglib.html.FormTagクラスはWEB-INFのlib内の、
struts-taglib-1.3.9.jarなどにある。
そこの、setActionは、struts-config.xmlのactionの定義、
setPropertyはstruts-configのactionに対応する画面のform-beanを参照する
■struts-config.xmlから、各クラスへ
struts-config.xmlのActionタグでは、actionから継承された(javaの)クラス
を設定する。
struts-config.xmlのform-beanタグでは、actionFormから継承された(javaの)
クラスを設定する。
これで、タグを入れると、struts-config.xmlの設定を通じて、
JavaのActionForm,Actionクラスが呼び出される仕組みが説明つきました。