実証しようと思ってS2Strutsのデモを色々変えてみた。
とりあえずPOJOじゃないActionクラスからPOJOじゃないActionクラスへforwardすれば起こるだろうと思ったけど、なぜかforward先のActionクラスが見つからないと言われる。
forward時にHotDeployFilterが実行されていないのが原因かと思い、web.xmlを変更(JavaEE2.4以降only)
<filter-mapping> <filter-name>hotdeployfilter</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping>
こうすると以下のエラーが発生
java.lang.IllegalStateException: class org.apache.struts.action.Action