springMVC配置action
Spring org.springframework.web.servlet.mvc.multiaction.MultiActionController与Struts 的 DispatchAction都是通过
http://.../userAction.do?method=updateUser 的方式来指定执行哪个方法。
1. public class UserController extends MultiActionController {
2. public ModelAndView updateUser(HttpServletRequest request,
3. HttpServletResponse response) {
4. System.out.println("updateUser");//方便于跟踪执行了哪个方法
5. return new ModelAndView("userList","from","updateUser");
6. }
7.
8. public ModelAndView deleteUser(HttpServletRequest request,
9. HttpServletResponse response) {
10. System.out.println("deleteUser");//方便于跟踪执行了哪个方法
11. return new ModelAndView("userList","from","deleteUser");
12. }
13. }
Bean配置
<bean name="/updateUser.html" class="com.unmi.UserController"/>
<bean name="/deleteUser.html" class="com.unmi.UserController"/>
org.springframework.web.servlet.mvc.multiaction.InternalPathMethodNameResolver类是根据URL样式解析方法名。
<bean id="methodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.InternalPathMethodNameResolver"></bean>
这样配置Class用了两次,如果是N个方法那就是N次可以用org.springframework.web.servlet.handler.SimpleUrlHandlerMapping
来简化操作。
<bean id="simpleUrlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/updateUser.html">updateController</prop>
<prop key="/deleteUser.html">deleteController</prop>
</props>
</property>
</bean>
<bean id="updateController" class="com.xx.action.UpadateController" />
<bean id="deleteController" class="com.xx.action.DeleteController" />
通常情况下我们一个action类用来对应一个页面,所以可以使用通配符的方式来定义,例如两个页面group和user
<bean id="simpleUrlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/group/*.html">groupController</prop>
<prop key="/user/*.html">userController</prop>
</props>
</property>
</bean>
<bean id="groupController" class="com.xx.action.GroupController" />
<bean id="userController" class="com.xx.action.UserController" />
另外提一下org.springframework.web.servlet.mvc.multiaction.InternalPathMethodNameResolver,我们可以写一个类在继承他,重写
protected String getHandlerMethodNameForUrlPath(String urlPath)方法。
@Override
protected String getHandlerMethodNameForUrlPath(String urlPath) {
if (urlPath.endsWith("/")) {
urlPath = urlPath.substring(0, urlPath.length() - 1);
}
return super.getHandlerMethodNameForUrlPath(urlPath);
}
然后再将bean id="methodNameResolver" class改为继承InternalPathMethodNameResolver类的类比如com.xx.xx包下的A类,我们就写成
com.xx.xx.A就可以了。
别忘了在web.xml里面配置
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
分享到:
相关推荐
在这个主题中,我们将聚焦于如何在SpringMVC中配置Action,并结合CKEditor来实现图片的粘贴和上传功能。 CKEditor是一款广泛使用的富文本编辑器,它可以提供丰富的文本格式化选项,以及图片和多媒体内容的插入能力...
在这个“springMVC 简单操作,并且配置action”的项目中,我们将探讨如何不依赖Struts或Hibernate等其他框架,仅使用Spring MVC来实现网站的基本功能。 首先,我们从配置开始。在Spring MVC中,`web.xml`是应用的...
本文将深入探讨如何使用注解配置Action,并解决在实际应用中可能遇到的`java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils`异常。 首先,让我们了解Struts2中的Action注解。`@Action`是Struts...
在SpringInAction的示例代码中,你可以看到如何自定义这些配置来适应你的应用需求。理解这些加载顺序和配置方式对于调试和优化Spring应用的性能至关重要,因为它们直接影响到Spring容器的初始化以及请求的处理流程。
在本文中,我们将深入探讨如何使用SpringMVC框架来实现一个简单的登录配置。SpringMVC是Spring框架的一个组件,主要用于构建Web应用程序,提供模型-视图-控制器(MVC)架构支持。它使得开发者能够更方便地处理HTTP...
SpringMVC是Spring框架的一部分,专门用于处理Web应用程序的请求和响应。它的URL映射规则是SpringMVC处理HTTP请求的核心机制,使得开发者能够灵活地将URL与控制器方法关联起来,实现请求的分发。 首先,理解...
在"BlazeDS+Spring+SpringMVC 注解方式配置文件"的场景下,我们将关注如何使用注解来简化这三者之间的整合。注解是Java中的一种元数据,可以为编译器或运行时环境提供信息,简化代码并减少XML配置。 首先,...
在 SpringMVC 中,控制器由简单的 Java 类实现,这些类通常称为 Action。 #### SpringMVC 简介 SpringMVC 是 Spring 框架的一部分,专门用于处理 Web 层的逻辑。相比其他流行的 MVC 框架(如 Struts),SpringMVC ...
这一步类似于在Struts2中的`struts.xml`文件中配置Action。 6. **创建视图页面**:创建一个JSP页面(如`list.jsp`),该页面将作为最终显示给用户的界面。 7. **运行项目**:在浏览器中访问项目中的URL(例如`...
下面将详细讲解 SpringMVC 的核心概念、配置以及控制器的使用。 首先,SpringMVC 的核心组件包括 DispatcherServlet、ModelAndView、Controller 和视图解析器(View Resolver)。DispatcherServlet 作为前端控制器...
### SpringMVC基础知识与应用详解 #### SpringMVC概述 SpringMVC是Spring框架的一个重要组成部分,它提供了基于MVC(Model...接下来,可以继续深入学习SpringMVC中的其他高级特性,如请求映射、数据绑定、异常处理等。
SpringMVC.xml是核心配置文件,用于配置DispatcherServlet、拦截器、视图解析器等组件。 十二、获取Spring管理的Bean: 通过@Autowired注解或ApplicationContext的getBean()方法,可以在Spring MVC中访问其他Spring...
SpringMvc web.xml配置实现原理过程解析 SpringMvc 中的web.xml配置是实现原理过程解析的关键一步。在这篇文章中,我们将详细介绍SpringMvc web.xml配置实现原理过程解析的过程,包括过滤器CharacterEncodingFilter...
- 通过url-pattern配置DispatcherServlet拦截的URL模式,例如拦截以.action结尾或所有访问。 #### 配置解析 - **DispatcherServlet配置**:定义了DispatcherServlet的servlet-name和servlet-class,以及初始化参数...
这将帮助学习者更好地理解和应用SpringMVC的配置。 综上所述,本SpringMVC教程覆盖了从基础到高级的多个知识点,是一份非常适合初学者的入门指南,并且对于有一定基础的开发者也同样具有参考价值。通过本教程的学习...
- `src/main/webapp/WEB-INF/spring`:SpringMVC的配置文件,如`servlet-context.xml`,可能包含BlazeDS的相关配置。 - `src/main/flex`:Flex项目的源代码,包括`.mxml`(Flex界面文件)和`.as`(ActionScript代码...
在Spring MVC的配置中,springmvc-mvc.xml配置文件是非常关键的部分,它定义了Spring MVC框架的行为,如扫描哪些组件、视图解析器的配置、静态资源的处理方式等。在该配置文件中,可以配置来启用注解驱动的请求处理...
在SpringMVC框架中,实现国际化资源配置是提升用户体验的关键步骤,尤其对于多语言网站来说。这个Demo将向我们展示如何在SpringMVC项目中配置和使用国际化资源文件,以适应不同地区的用户需求。首先,我们需要了解...
接着,在 `web.xml` 文件中配置 DispatcherServlet,指定其加载的核心配置文件(如 `SpringMvc.xml`)。这个配置文件包含了 Spring MVC 的所有组件定义,如视图解析器、拦截器、数据绑定等。 在 `SpringMvc.xml` 中...