Struts1.x系列教程(21):使用MappingDispatchAction类调用不同的Action方法

简介:
LookupDispatchAction、DispatchAction不同,MappingDispatchAction类并不通过请求参数来指定动作,而是将一个Struts动作对应于一个Action方法。下面的例子演示了如何使用MappingDispatchAction类来将Struts动作和Action方法相对应。

Action 类的实现代码:
package  action;
import  org.apache.struts.actions.MappingDispatchAction;
 
public   class  MyMappingDispatchAction  extends  MappingDispatchAction
{
    public  ActionForward pdf(ActionMapping mapping, ActionForm form,
        HttpServletRequest request, HttpServletResponse response)
 throws  IOException, ServletException 
    {
        //   生成pdf文件
    }
    public  ActionForward html(ActionMapping mapping, ActionForm form,
        HttpServletRequest request, HttpServletResponse response) 
throws  IOException, ServletException 
    {
        //   生成html文件
    }
    public  ActionForward unspecified(ActionMapping mapping, ActionForm form,
        HttpServletRequest request, HttpServletResponse response)
 throws  IOException, ServletException 
    {
        
//   处理默认动作
    }
}
上面的代码有两个Action 方法:pdf html ,分别用来生成pdf html 文件。还有一个unspecified 方法用来处理默认动作。
    我们可以使用如下的代码来配置MyMappingDispatchAction类:
 
< action  path ="/pdf"  type  = "action.MyMappingDispatchAction"  parameter ="pdf"   />
< action  path ="/html"  type  = "action.MyMappingDispatchAction"  parameter ="html"   />
     可以通过如下的URL来访问pdf和html动作,分别会调用MyMappingDispatchAction类的pdf和html方法:

http://localhost:8080/samples/pdf.do

http://localhost:8080/samples/html.do





 本文转自 androidguy 51CTO博客,原文链接:http://blog.51cto.com/androidguy/214846,如需转载请自行联系原作者

相关文章
|
运维 监控 NoSQL
【Redis】哨兵(Sentinel)原理与实战全解~炒鸡简单啊
Redis 的哨兵模式(Sentinel)是一种用于实现高可用性的机制。它通过监控主节点和从节点,并在主节点故障时自动进行切换,确保集群持续提供服务。哨兵模式包括主节点、从节点和哨兵实例,具备监控、通知、自动故障转移等功能,能显著提高系统的稳定性和可靠性。本文详细介绍了哨兵模式的组成、功能、工作机制以及其优势和局限性,并提供了单实例的安装和配置步骤,包括系统优化、安装、配置、启停管理和性能监控等。此外,还介绍了如何配置主从复制和哨兵,确保在故障时能够自动切换并恢复服务。
|
XML JSON Java
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
本文介绍了如何使用IntelliJ IDEA和Maven搭建一个整合了Struts2、Spring4、Hibernate4的J2EE项目,并配置了项目目录结构、web.xml、welcome.jsp以及多个JSP页面,用于刷新和学习传统的SSH框架。
453 0
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
|
Java 数据库连接 缓存
Hibernate性能调优:五大秘籍,让应用效能飙升,告别慢如蜗牛的加载,体验丝滑般流畅!
【8月更文挑战第31天】本文深入探讨了提升Hibernate应用性能的五大技巧,包括选择合适的缓存策略、优化查询语句、合理使用Eager与Lazy加载、批量操作与事务管理以及利用索引和数据库优化。通过正确配置多级缓存、分页查询、延迟加载、批量处理及合理创建索引,能够显著提高应用响应速度与吞吐量,改善用户体验。这些技巧需根据具体应用场景灵活调整,以实现最佳性能优化效果。
488 0
|
监控 Java 图形学
【性能优化篇】U3D游戏卡顿大作战:内存与渲染效率的极致提升
【7月更文第12天】在Unity3D游戏开发领域,性能优化是决定玩家体验好坏的关键一环。游戏频繁卡顿,不仅破坏了沉浸式体验,还可能造成玩家流失。本文将深入探讨如何有效解决U3D游戏卡顿问题,特别聚焦于内存管理和渲染效率两大核心领域,助力开发者打造流畅丝滑的游戏世界。
966 0
|
存储 算法 Java
深入解析 Java 数据结构:红黑树的特点与应用
红黑树(Red-Black Tree)是一种自平衡的二叉搜索树,它在 Java 编程中扮演着重要的角色,用于高效地存储和管理数据。红黑树的特点使其在查找、插入和删除操作中保持相对平衡,从而提供了稳定且高效的性能。本文将深入探讨红黑树的特点、用法、实现方式以及在实际应用中的优势。
|
监控 Java API
Java微服务架构设计与实现
【4月更文挑战第18天】本文探讨了如何使用Java设计和实现微服务架构,强调了微服务的自治性、分布式治理、弹性设计和可观测性等关键特性。在设计时,需考虑服务边界、通信机制、数据库、松耦合和高内聚、安全策略以及容错设计。Java生态系统中的Spring Boot、Spring Cloud、JHipster、Quarkus和Micronaut等框架提供了支持。最佳实践包括CI/CD、API版本控制、服务监控、日志记录和文档契约测试。通过持续学习和实践,可构建灵活可靠的微服务系统,满足业务需求并提升软件质量。
242 7
|
NoSQL Java Redis
Redis 从入门到精通之Redis数据排序
Redis支持对List、Set和Sorted Set元素进行排序,排序命令是`SORT`。`SORT`命令可以根据指定的排序规则对列表、集合或有序集合的元素进行排序,并返回排序后的元素列表或子集。使用Jedis和RedisTemplate分别实现Redis列表、集合和有序集合排序操作的示例代码
1626 89
|
运维 Cloud Native 测试技术
极氪汽车 APP 系统云原生架构转型实践
极氪汽车 APP 系统云原生架构转型实践
2286 110
极氪汽车 APP 系统云原生架构转型实践
|
XML Java 数据库连接
Spring框架与Spring Boot的区别和联系
Spring框架与Spring Boot的区别和联系
1063 0
|
缓存 负载均衡 算法
【软件设计师备考 专题 】性能指标(响应时间、吞吐量、周转时间)和性能设计
【软件设计师备考 专题 】性能指标(响应时间、吞吐量、周转时间)和性能设计
887 0