S2のサイトにチュートリアルがあるのでそのままEclipseプロジェクトとして使うべし! ただしTomcatプラグイン前提なので悩みどころだ。
http://sastruts.seasar.org/setup.html
<include-prelude>/WEB-INF/view/common/common.jsp</include-prelude>
rootパッケージがcom.rutake.actionだとする。rootパッケージの指定はconvention.diconで行う。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" "http://www.seasar.org/dtd/components24.dtd"> <components> <component class="org.seasar.framework.convention.impl.NamingConventionImpl"> <initMethod name="addRootPackageName"> <arg>"com.rutake"</arg> </initMethod> </component> <component class="org.seasar.framework.convention.impl.PersistenceConventionImpl"/> </components>
con.rutake.action.HelloActionのindex()に対するURLは以下のようになる。
/hello
デフォルトではSAStrutsのFilterによりActionを介さずにJSPを呼ぶことはできない。web.xmlの以下の設定を変更すべし。false→true
<filter> <filter-name>routingfilter</filter-name> <filter-class>org.seasar.struts.filter.RoutingFilter</filter-class> <init-param> <param-name>jspDirectAccess</param-name> <param-value>false</param-value> </init-param> </filter>