您的位置:首页 > 编程语言 > Java开发

SpringMVC非注解一个控制器配置多个方法

2015-11-13 11:07 513 查看
文章主要参考http://blog.csdn.net/seacean2000/article/details/8890415

刚开始学SpringMVC,想先用非注解方式来实现,比较理解透彻一点。

应该配置简单的例子大家都没问题了,下面说的也主要是我在一个控制器配置多个方法中遇到的一些问题。希望对也碰到这些问题的朋友有些帮助

spring-servlet.xml 映射器配置(不全,但主要的都有了)

<!-- 简单URL的映射处理器 -->

    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">

        <property name="mappings">

            <props>

                <prop key="/hello.do">testController</prop>

            </props>

        </property>

    </bean>

    <!-- 引入多视图控制 -->

    <bean name="paramMethodResolver"

        class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">

        <property name="paramName">

            <value>method</value>

        </property>

    </bean>

    <!-- 将上面配置的多视图控制paramMethodResolver注入到自己的控制器-->

    <bean id="testController" class="test.controller.UserController"

        name="/hello.do">

        <property name="methodNameResolver">

            <ref bean="paramMethodResolver" />

        </property>

    </bean>

控制器类继承MultiActionController(注意方法的形式,我就是把public写成了protected,结果找了半天错)

public class UserController extends MultiActionController {

    @Resource  

    private UserMapper userService;  

    

    public  ModelAndView selectOne(HttpServletRequest arg0,

            HttpServletResponse arg1) throws Exception {

        User user = userService.selectOne(1);

        ModelAndView mav=new ModelAndView();

        mav.addObject("user", user);

        mav.setViewName("hello");

        return mav;

    }

}

至于有没有其他拓展形式我就没研究了

接下来输入 服务器地址/项目名/hello.do?method=test2就可以了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: