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

简介: 本文为原创,如需转载,请注明作者和出处,谢谢! 上一篇:Struts1.x系列教程(20):使用EventDispatchAction类处理一个form多个submit        与LookupDispatchAction、DispatchAction不同,MappingDispatchAction类并不通过请求参数来指定动作,而是将一个Struts动作对应于一个Action方法。
系列教程(20):使用EventDispatchAction类处理一个form多个submit   

    与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方法:pdfhtml,分别用来生成pdfhtml文件。还有一个unspecified方法用来处理默认动作。
    我们可以使用如下的代码来配置MyMappingDispatchAction类:

 

< action  path ="/pdf"  type  = "action.MyMappingDispatchAction"  parameter ="pdf"   />
< action  path ="/html"  type  = "action.MyMappingDispatchAction"  parameter ="html"   />

     可以通过如下的URL来访问pdf和html动作,分别会调用MyMappingDispatchAction类的pdf和html方法

目录
相关文章
|
存储 数据安全/隐私保护
音乐宿主软件有哪些?哪个最好用?FL Studio/Cubase/Studio one
现如今市面上的音乐宿主软件有很多,同时每个音乐宿主软件都有其优缺点,选择哪款音乐宿主软件,就成了新入门小伙伴面临的一个难题,所以今天和大家分享一下,音乐宿主软件对比,音乐宿主软件需要什么配置。
6652 0
|
缓存 JSON tengine
CDN 预热功能| 学习笔记
快速学习 CDN 预热功能。
|
NoSQL 关系型数据库 MySQL
|
缓存 前端开发 测试技术
使用GraphQL进行高效数据查询的技术指南
【5月更文挑战第24天】GraphQL是Facebook开源的查询语言,用于高效数据查询,解决RESTful API的过度获取、不足获取及冗余问题。它允许客户端指定所需数据,实现按需获取,具有客户端定义查询、灵活性和可扩展性、减少API数量等优势。GraphQL基于类型和模式工作,通过定义模式、实现解析器、整合前后端及测试优化来实现查询。适用于灵活数据需求、复杂关联查询和实时数据更新的场景,但也存在学习成本高、服务器实现复杂和性能优化问题。
|
XML 安全 Linux
only office-用着确实很省心
only office-用着确实很省心
|
运维 监控 测试技术
软件体系结构 - 系统工程【霍尔三维结构】
软件体系结构 - 系统工程【霍尔三维结构】
755 0
|
JavaScript 前端开发 Linux
nvm 版本管理详解
Node.js 是一种强大的服务器端 JavaScript 运行环境,它经常需要根据项目的要求使用不同的 Node.js 版本。为了更轻松地管理不同版本的 Node.js,Node Version Manager(nvm)是一个不可或缺的工具。本文将介绍 nvm 的基本概念和使用方法,并提供代码示例,以便你能够更好地理解如何在项目中使用 nvm。
356 0
|
传感器 Web App开发 JavaScript
前端(六)——TypeScript在前端中的重要性与应用
前端(六)——TypeScript在前端中的重要性与应用
318 0
|
存储 JSON NoSQL
MongoDB5.x简介及在centos7安装部署
🍅程序员小王的博客:程序员小王的博客 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕 🍅java自学的学习路线:java自学的学习路线
648 0
MongoDB5.x简介及在centos7安装部署