MultiActionControllerを構成する2つの方法
1993 ワード
<bean id="paramResolver"
class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
<property name="paramName">
<value>method</value>
</property>
</bean>
方法1:OutlineActionはMultiActionControllerを継承し、属性
MultiActionControllerは、オブジェクトを構築する際に、次のような操作を行うためです.
public MultiActionController() {
this.delegate = this;
registerHandlerMethods(this.delegate);
// We'll accept no handler methods found here - a delegate might be set later on.
}
<bean name="outlineAction" class="com.mdd.web.springMvc.crawl.OutlineAction">
<property name="methodNameResolver"><ref bean="paramResolver"/></property>
</bean>
方法2:OutlineActionがMultiActionControllerを継承していない
<bean name="outlineActionDelegate" class="com.mdd.web.springMvc.crawl.OutlineAction"></bean>
<bean name="outlineAction" class="org.springframework.web.servlet.mvc.multiaction.MultiActionController">
<property name="delegate"><ref bean="outlineActionDelegate"/></property>
<property name="methodNameResolver"><ref bean="paramResolver"/></property>
</bean>
注意OutlineActionのフォーマットは次のとおりです.
public ModelAndView queryOutlineByUser(HttpServletRequest request, HttpServletResponse response){}
またpublicでなければなりません.反射呼び出しを否定するとロードできません.
エラーが表示されますIllegalStateException:No handler methods in class[ClassName]