Web アプリ プロジェクトに Spring MVC を使用していますが、注釈の使用を避けようとしています。
MultiActionController とデリゲートが機能する限り、私は遭遇しました。
問題は、 MultiActionController のデリゲートにデフォルト メソッドを設定するにはどうすればよいかということです。
MultiActionController とは、次のような意味です
public class TestController1 extends MultiActionController{
public TestController1(){
System.out.println("TestController1 initialising...");
}
}
私のxml設定は...
<bean id="multiactionController1" class="test.TestController1">
<property name="delegate" ref="testDelegater1"/>
<property name="methodNameResolver" ref="paramResolver"/>
</bean>
<!-- Delegaters -->
<bean id="testDelegater1" class="test.TestController1Delegator"/>
<!-- param method name resolver -->
<bean id="paramResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
<property name="paramName" value="action"/>
</bean>
<!-- Simple Url Handler Mapping -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<map>
<entry key="/multiaction1/**" value-ref="multiactionController1"/>
<entry key="/item/**" value-ref="itemController"/>
</map>
</property>
</bean>
したがって、 '*/item' のようなリクエストを送信すると、アクション パラメータがないことに注意してください。エラーが発生する代わりに、デフォルト メソッドが必要です。