弹簧多动作控制器

时间:2013-06-17 11:10:57

标签: xml spring controller

我正在尝试使用多动作控制器,因此我可以将它用于导航目的,我已经有一个处理json的工作,它们在同一个配置文件中,json映射工作,并调用正确的方法。

由于某种原因,我的第二个控制器(在xml文件中首先定义)不起作用,我在日志文件中得到一个没有url映射的404。这可能是我错过的一些简单但我无法看到的东西。感谢任何帮助!

<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" />

<bean name="navigationController" class="NavigationController">
    <property name="methodNameResolver">
        <bean class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver">
            <property name="mappings">
                <props>
                   <prop key="/dashboard">dashBoard</prop>
                </props>
           </property>
        </bean>
    </property>
</bean>

public ModelAndView dashBoard(HttpServletRequest request, HttpServletResponse response) throws Exception {
    System.out.println("hitting the avigation controller now - loading the dashboard");

    return new ModelAndView("dashboard", "msg","Testing the model and view");
}   

同一配置文件中的此条目有效并且所有方法都被适当调用:

<bean name="chartController" class="ChartController">
    <property name="methodNameResolver">
        <bean class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver">
            <property name="mappings">
                <props>
                   <prop key="/chart/barChart">barChart</prop>
                   <prop key="/chart/json">handleChartJsonRPC</prop>
                </props>
           </property>
        </bean>
    </property>
</bean>

1 个答案:

答案 0 :(得分:0)

它可能还与ControllerClassNameHandlerMapping有关,它希望控制器映射到类似/navigation/dashboard的网址