自定义的struts2的resulttype


Struts2是一个强大的Java EE应用程序框架,用于构建MVC(模型-视图-控制器)架构的Web应用。在Struts2中,ResultType是Action执行后跳转到不同页面或执行不同操作的一种策略。默认情况下,Struts2提供了一些内置的ResultType,如“dispatcher”(用于转发到JSP或其他资源)、“stream”(用于处理流式数据,如文件下载)等。然而,在实际开发中,我们可能需要根据项目需求自定义ResultType,以便更灵活地控制应用的行为。 自定义Struts2的ResultType主要涉及以下几个步骤: 1. **创建Result类**:我们需要创建一个继承自`org.apache.struts2.dispatcher.Result`的类。这个类将包含具体的实现逻辑,决定如何处理Action执行后的结果。例如,如果我们想要创建一个特定的邮件发送ResultType,我们可以命名为`MailResult`。 ```java public class MailResult extends Result { // 实现相关方法,如doExecute() } ``` 2. **配置结果类型**:在Struts2的配置文件(通常为struts.xml或struts.properties)中,我们需要注册刚刚创建的自定义ResultType。通过`<constant>`标签来设置`struts.objectFactory`属性,或者直接在`<package>`标签内使用`<result-types>`标签定义新的ResultType。 ```xml <!-- 在struts.xml中 --> <package name="myPackage" namespace="/" extends="struts-default"> <result-types> <result-type name="mail" class="com.example.MailResult"/> </result-types> </package> ``` 3. **使用自定义ResultType**:现在可以在Action的配置中使用我们定义的ResultType了。在`<action>`标签下,通过`<result>`指定ResultType及对应的路径或逻辑名称。 ```xml <action name="sendMail" class="com.example.SendMailAction"> <result type="mail">/success.jsp</result> </action> ``` 在这个例子中,当`SendMailAction`执行成功后,将会调用我们自定义的`MailResult`,并跳转到`success.jsp`页面。 4. **扩展性与灵活性**:自定义ResultType使得我们能够根据业务需求定制Action执行后的处理方式,比如处理HTTP响应头、发送邮件、更新数据库等。这极大地提高了代码的可读性和可维护性,避免了Action代码中充斥着与业务逻辑不直接相关的代码。 通过以上步骤,我们就可以在Struts2应用中自如地使用自定义ResultType了。记得在开发过程中遵循良好的编程实践,如代码复用、异常处理和注释,以确保代码质量。同时,自定义ResultType时应尽量保持其通用性,以便在其他类似场景中重用。





























































- 1


- 粉丝: 196
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- JSP药品销售数据管理与实现.doc
- SIEMENS-WinCC-V6.0-VBS-脚本在自动汽车检测与识别系统中的应用.doc
- 单片机原理及接口技术课程设计(CO气体浓度监测仪设计).doc
- 烟草仓库温湿单片机测控装置的设计.doc
- 数据库概论第1-3章习题参考答案.doc
- 全国计算机等级测验二级VisualFoxPro数据库程序设计笔试真题及答案.doc
- 网络环境下书目信息资源共享的思考.docx
- 论推动计算机科学与技术跨越式发展的策略.docx
- 四层电梯的自动化控制系统设计.doc
- 松下网络摄像机在工业监控方面的应用-企业工厂.docx
- 《计算机科学与技术》专业毕业论文.doc
- 计算机图形教学改革探究.docx
- JSP音乐歌曲网站的设计方案与实现(SQL数据库).doc
- 汽车品牌的互联网+营销实战研究.docx
- 2010年11月软考网络工程师历年考试试题.doc
- 多媒体网络教室的解决方案与软件研究与设计开发.doc


