Spring 如何为MultiActionController的委托方法设置默认方法?
我将SpringMVC用于一个web应用程序项目,并试图避免使用注释 我遇到了让MultiActionController和代理工作的情况 问题是,如何在MultiActionController的委托中设置默认方法 我说的MultiActionController是指这样的东西Spring 如何为MultiActionController的委托方法设置默认方法?,spring,spring-mvc,Spring,Spring Mvc,我将SpringMVC用于一个web应用程序项目,并试图避免使用注释 我遇到了让MultiActionController和代理工作的情况 问题是,如何在MultiActionController的委托中设置默认方法 我说的MultiActionController是指这样的东西 public class TestController1 extends MultiActionController{ public TestController1(){ System.out
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”的请求时,请注意它没有操作参数,而不是给我一个错误,我希望有一个默认方法。我可以按照本页中的说明解决这个问题。
据我所知,您需要实现自己的
methodnamesolver
,如果没有指定方法名,它将返回默认方法名。我希望这有帮助:)使用MethodNameResolver的以下实现,它具有defaultMethodName属性
org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver