Spring MVC 初体验(三)

来源:互联网 发布:中国人口和房价知乎 编辑:程序博客网 时间:2024/04/29 22:34

    在Struts 中我们拥有DispatherAction,而Spring MVC中与之对应的就是MultiActionController,在这里我们仍然采用BeanNameUrlHandleMapping来将请求映射到Controller.

    假设我们做一个需求是对部门的更新和查询,如果用前面的方法,我们势必需要对更新和查询配置不同的Controller,对于这样的开发将增加我们额外的负担,同时也不利于理解代码。所以这次我们采用MulitiActionController来实现这一需求。

    在此类中我们提供2个方法,做更新和查询,如下

    我们可以确定的是我们如果需要调用这个Controller中的方法,肯定需要一个访问路径譬如

http://localhost:8080/SpringMVCTest01/spring/xxx.htm?methd=xxx spring 中给我们提供了一个参数解析类org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver 专门就用来解析我们后面的参数方法名的.spring的配置文件中配置代码如下:

    这样我们在提交的时候就能指定调用我们MultiActionController中的哪一个方法了。另外,MulitiActionController中没有直接的setCommand方法来设置我们的输入模型对象,经过查阅Spring API 发现MulitiActionController具有一个bind方法:

    那么我们就可以通过它来使我们的模型对象和Controller绑定上。具体做法为,在Controller中首先创建我们的模型对象,在我们需要的模型对象的方法中执行绑定,然后就能利用该模型对象做我们所需要做的事情了。具体代码参见如下:

    这样就OK了,能够访问到页面提交过来的模型对象了。补充,在spring 的配置中我们还要为我们的MultiActionController配置参数方法名解析器,如下:

原创粉丝点击