以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_propertiesmethodnameresolver.htm

说明:示例基于Spring MVC 4.1.6。

以下示例显示如何使用Spring Web MVC框架使用多操作控制器的属性方法名称解析方法。MultiActionController类有助于分别在单个控制器中将多个URL与其方法映射。

  1. package com.tutorialspoint;
  2.  
  3. import javax.servlet.http.HttpServletRequest;
  4. import javax.servlet.http.HttpServletResponse;
  5.  
  6. import org.springframework.web.servlet.ModelAndView;
  7. import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
  8.  
  9. public class UserController extends MultiActionController{
  10.  
  11. public ModelAndView home(HttpServletRequest request, HttpServletResponse response) throws Exception {
  12. ModelAndView model = new ModelAndView("user");
  13. model.addObject("message", "Home");
  14. return model;
  15. }
  16.  
  17. public ModelAndView add(HttpServletRequest request, HttpServletResponse response) throws Exception {
  18. ModelAndView model = new ModelAndView("user");
  19. model.addObject("message", "Add");
  20. return model;
  21. }
  22.  
  23. public ModelAndView remove(HttpServletRequest request, HttpServletResponse response) throws Exception {
  24. ModelAndView model = new ModelAndView("user");
  25. model.addObject("message", "Remove");
  26. return model;
  27. }
  28. }
  1. <bean class="com.tutorialspoint.UserController">
  2. <property name="methodNameResolver">
  3. <bean class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver">
  4. <property name="mappings">
  5. <props>
  6. <prop key="/user/home.htm">home</prop>
  7. <prop key="/user/add.htm">add</prop>
  8. <prop key="/user/remove.htm">update</prop>
  9. </props>
  10. </property>
  11. </bean>
  12. </property>
  13. </bean>

例如,使用上面的配置,如果是URI

  1. /user/home.htm被请求,DispatcherServlet将请求转发到UserController home()方法。

  2. /user/add.htm被请求,DispatcherServlet将请求转发给UserController add()方法。

  3. /user/remove.htm被请求,DispatcherServlet将请求转发给UserControllerremove()方法。

首先,让我们使用Eclipse IDE,并按照以下步骤使用Spring Web Framework开发基于动态窗体的Web应用程序:

步骤 描述
1 创建一个名称的项目TestWeb包下com.tutorialspoint中所解释的Spring MVC - Hello World示例章节。
2 在com.tutorialspoint包下创建Java类UserController。
3 在jsp子文件夹下创建一个视图文件user.jsp。
4 最后一步是创建所有源和配置文件的内容并导出应用程序,如下所述。

UserController.java

  1. package com.tutorialspoint;
  2.  
  3. import javax.servlet.http.HttpServletRequest;
  4. import javax.servlet.http.HttpServletResponse;
  5.  
  6. import org.springframework.web.servlet.ModelAndView;
  7. import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
  8.  
  9. public class UserController extends MultiActionController{
  10.  
  11. public ModelAndView home(HttpServletRequest request, HttpServletResponse response) throws Exception {
  12. ModelAndView model = new ModelAndView("user");
  13. model.addObject("message", "Home");
  14. return model;
  15. }
  16.  
  17. public ModelAndView add(HttpServletRequest request, HttpServletResponse response) throws Exception {
  18. ModelAndView model = new ModelAndView("user");
  19. model.addObject("message", "Add");
  20. return model;
  21. }
  22.  
  23. public ModelAndView remove(HttpServletRequest request, HttpServletResponse response) throws Exception {
  24. ModelAndView model = new ModelAndView("user");
  25. model.addObject("message", "Remove");
  26. return model;
  27. }
  28. }

TestWeb-servlet.xml

  1. <beans xmlns="http://www.springframework.org/schema/beans"
  2. xmlns:context="http://www.springframework.org/schema/context"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="
  5. http://www.springframework.org/schema/beans
  6. http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  7. http://www.springframework.org/schema/context
  8. http://www.springframework.org/schema/context/spring-context-3.0.xsd">
  9.  
  10. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  11. <property name="prefix" value="/WEB-INF/jsp/"/>
  12. <property name="suffix" value=".jsp"/>
  13. </bean>
  14.  
  15. <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping">
  16. <property name="caseSensitive" value="true" />
  17. </bean>
  18. <bean class="com.tutorialspoint.UserController">
  19. <property name="methodNameResolver">
  20. <bean class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver">
  21. <property name="mappings">
  22. <props>
  23. <prop key="/user/home.htm">home</prop>
  24. <prop key="/user/add.htm">add</prop>
  25. <prop key="/user/remove.htm">update</prop>
  26. </props>
  27. </property>
  28. </bean>
  29. </property>
  30. </bean>
  31. </beans>

user.jsp

  1. <%@ page contentType="text/html; charset=UTF-8" %>
  2. <html>
  3. <head>
  4. <title>Hello World</title>
  5. </head>
  6. <body>
  7. <h2>${message}</h2>
  8. </body>
  9. </html>

完成创建源文件和配置文件后,导出应用程序。右键单击应用程序并使用Export > WAR File选项,并将您的TestWeb.war文件保存在Tomcat的webapps文件夹中。

现在启动您的Tomcat服务器,并确保您可以使用标准浏览器从webapps文件夹访问其他网页。现在尝试URL http://localhost:8080/TestWeb/user/add.htm,如果您的Spring Web应用程序的一切都很好,您应该会看到以下结果:

Maven示例:

https://github.com/easonjim/5_java_example/tree/master/springmvc/tutorialspoint/test20

Spring MVC-控制器(Controller)-属性方法名称解析器(Properties Method Name Resolver )示例(转载实践)的更多相关文章

  1. Spring MVC属性方法名称解析器

    以下示例显示如何使用Spring Web MVC框架来实现多动作控制器的属性方法名称解析器. MultiActionController类可在单个控制器中分别映射多个URL到对应的方法. 所下所示配置 ...

  2. spring mvc: 属性方法名称解析器(多动作控制器)MultiActionController/ControllerClassNameHandlerMapping/PropertiesMethodNameResolver

    spring mvc: 属性方法名称解析器(多动作控制器) 加入控制器是StudentContrller.java,里面有3个方法 index,add,remove 那么访问地址是: http://l ...

  3. SSM-SpringMVC-10:SpringMVC中PropertiesMethodNameResolver属性方法名称解析器

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 上次的以继承MultiActionController可以实现一个处理器中多个处理方法,但是局限出来了,他们的 ...

  4. Spring MVC参数方法名称解析器

    以下示例显示如何使用Spring Web MVC框架来实现多动作控制器的参数方法名称解析器. MultiActionController类可在单个控制器中分别映射多个URL到对应的方法. 所下所示配置 ...

  5. SpringMVC处理器映射器和方法名称解析器

    所谓配置式开发是指,“处理器类是程序员手工定义的,实现了特定接口的类,然后再在SpringMVC配置文件中对该类进行显式的,明确的注册”的开发方式” 1.处理器映射器HandlerMapping Ha ...

  6. spring mvc: 参数方法名称解析器(用参数来解析控制器下的方法)MultiActionController/ParameterMethodNameResolver/ControllerClassNameHandlerMapping

    spring mvc: 参数方法名称解析器(用参数来解析控制器下的方法)MultiActionController/ParameterMethodNameResolver/ControllerClas ...

  7. Spring MVC-控制器(Controller)-参数方法名称解析器(Parameter Method Name Resolver )示例(转载实践)

    以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_parametermethodnameresolver.htm 说明:示例基于Sp ...

  8. SpringMVC03 ParameterMethodNameResolver(参数方法名称解析器) And XmlViewResolver(视图解析器)

    参数方法名称解析器 1.配置依赖包 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="ht ...

  9. SSM-SpringMVC-11:SpringMVC中ParameterMethodNameResolver参数方法名称解析器

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 或许曾经的我们也见过一种方式http://localhost:8080/项目名/后台servlet?actio ...

随机推荐

  1. .net C# 格式化时间

    1.HtmlEncode="False" 2.DataFormatString="{0:d}" C#格式化日期时间 DateTime dt = DateTime ...

  2. 拼接sql ()

    SELECT ID,FORMNAME,NODENAME,SEQUENCE, NAME, STATE, NOWTIMES,      WORK.FQREALNAME||'('||FQDEPT.FULLN ...

  3. ACM_变形课(并查集)

    变形课 Time Limit: 2000/1000ms (Java/Others) Problem Description: 呃......变形课上Harry碰到了一点小麻烦,因为他并不像Hermio ...

  4. spring boot打包文件后,报错\No such file or directory

    现象: 一段代码: ClassLoader loader = XXXUtil.class.getClassLoader(); String jsFileName = loader.getResourc ...

  5. Laravel5.1学习笔记i14 系统架构6 Facade

    Facades 介绍  使用 Facades Facade 类参考   #介绍 Facades provide a "static" interface to classes th ...

  6. 剔除重复jar包,查找重复类

    作为程序员,没有遇到过jar包冲突,不是你幸运,就是你还年轻. jar包冲突有着无穷的魔力,一提到就会有说不完的怨愤,道不清的忧伤,这都是内伤.jar 包冲突就像深藏地底的地雷,看上去平常无奇,一切是 ...

  7. Lvs Keepalive DR模式高可用配置

    Lvs Keepalive DR模式配置 一.环境 #DIP# eth0:192.168.233.145#VIP# eth0:0 192.168.233.250/32 #RIP1:192.168.23 ...

  8. python_时间日期

    time.time()用于获取当前时间戳 从返回浮点数的时间辍方式向时间元组转换,只要将浮点数传递给如localtime之类的函数. localtime = time.localtime(time.t ...

  9. UpLoadify在IE下兼容问题

    一.在IE9.IE10不能点击的问题解决 解决方法:进入uploadify的js文件中,搜索SWFUpload.prototype.getFlashHTML,找到它对应的语句,将方法全部替换为以下内容 ...

  10. vue 打印 页面特定部分转pdf

    https://www.jb51.net/article/147040.htm https://www.jianshu.com/p/dd120b65446a  //转pdf