Struts2框架(3)---Action类的3种书写方式
Action类的3种书写方式
本文主要写有关写Action类的3种书写方式:
(1)第一种 Action可以是POJO (简单模型对象) 不需要继承任何父类 也不需要实现任何接口
(2)实现Action接口
(3)继承ActionSupport(推荐)
那我们先来书写第一种:
(1)第一种 Action可以是POJO (简单模型对象) 不需要继承任何父类 也不需要实现任何接口
1 //这里其实就是一个普通的类,类里面的方法可以任意写,如果写execute()方法那就代表默认执行它 2 public class RequestAction1 { 3 //提供满足条件的方法 excute方法 4 //public 范围的 带有String返回值的 无参的方法 5 public String execute(){ 6 System.out.println("测试方式一"); 7 return null;//null表示不进行跳转 8 } 9 }
(2)实现Action接口
1 import com.opensymphony.xwork2.Action; 2 public class RequestAction2 implements Action{ 3 4 public String execute() throws Exception { 5 System.out.println("方式二 实现Action接口 成功执行...."); 6 return SUCCESS; 7 } 8 } 9 /** 10 * Action接口中一共有5个五种逻辑视图 和一个方法分别如些: 11 * public abstract interface com.opensymphony.xwork2.Action { 12 数据处理成功(成功的跳转页面) 13 public static final java.lang.String SUCCESS = "success"; 14 页面不进行跳转 return null 15 public static final java.lang.String NONE = "none"; 16 数据处理发送错误(错误页面) 17 public static final java.lang.String ERROR = "error"; 18 用户处理数据 数据有误 用于表单的校验 19 public static final java.lang.String INPUT = "input"; 20 主要是权限认证 21 public static final java.lang.String LOGIN = "login"; 22 23 public abstract java.lang.String execute() throws java.lang.Exception; 24 } 25 */
(3)继承ActionSupport(推荐)
1 import com.opensymphony.xwork2.Action; 2 import com.opensymphony.xwork2.ActionSupport; 3 //为什么推荐ActionSupport,在Action中如果使用基础ActionSupport的方式 可以使用表单的校验 错误信息的设置 和国际化信息 三个重要的功能。 4 public class RequestAction3 extends ActionSupport { 5 @Override 6 public String execute() throws Exception { 7 System.out.println("方式三 继承ActionSupport完成 书写"); 8 return super.execute();//返回SUCCESS 9 } 10 } 11 /**ActionSupport类的特点,点进去发现它实现了许多的接口 12 * public class ActionSupport implements Action, Validateable, 13 * ValidationAware, TextProvider, LocaleProvider, Serializable 14 * 这么多接口说明它不简单 15 * 16 */
关于action类的创建我就说这么多!请大家多指点!
分类:
【框架】-- Struts
标签:
struts系列笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了