Struts2:Action类的写法,推荐使用继承ActionSupport类的方法

文章目录

  • 方法一:Action类是一个POJO类(简单的Java类)
    • ActionDemo2.java
    • struts_demo2.xml
    • struts.xml
    • 运行结果
    • 其他
    • strutsz_demo1.xml
  • 方法二:实现一个Action的接口
    • ActionDemo2_2.java
    • struts_demo2.xml
    • 运行结果
  • 推荐!!!方法三:Action类继承ActionSupport类
    • struts_demo2.xml
    • 运行结果

action一共有三种编写方法:

方法一:Action类是一个POJO类(简单的Java类)

新建包,action类,模块化的struts_demo2.xml的文件
在这里插入图片描述

ActionDemo2.java

在这里插入图片描述

package com.zhang.struts2.demo2;
/*** * @author zhangwt*Action的编写方式:Action类是一个POJO类,(简单的Java类)*/
public class ActionDemo2 {public String execute(){System.out.println("ActionDemo2执行了~~~~~~~");return null;}
}

struts_demo2.xml

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts><!-- Struts2为了管理Action的配置,通过package进行管理,action类在package里 --><!-- 配置Struts2的包================== --><!--package的name随便起名,但是不能重复 --><package name="demo2" extends="struts-default" namespace="/"><action name="ActionDemo2" class="com.zhang.struts2.demo2.ActionDemo2"></action></package>
</struts>

struts.xml

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts><!-- Struts2为了管理Action的配置,通过package进行管理,action类在package里 --><!-- 配置Struts2的包================== --><!-- 使用模块化将action的配置包含进来 --><include file="com/zhang/struts_demo1.xml" /><include file="com/zhang/struts2/demo2/struts_demo2.xml"></include>
</struts>

运行结果

从 项目 运行
在这里插入图片描述

其他

strutsz_demo1.xml

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts><!-- Struts2为了管理Action的配置,通过package进行管理,action类在package里 --><!-- 配置Struts2的包================== --><!--package的name随便起名,但是不能重复 --><package name="test" extends="struts-default" namespace="/"><!-- 配置Action============== --><action name="hello" class="com.zhang.hello"><!-- 配置页面的跳转============== --><result name="success">/success.jsp</result></action></package>
</struts>

方法二:实现一个Action的接口

先写一个action类,再写配置文件,再在 项目 运行

ActionDemo2_2.java

在这里插入图片描述

package com.zhang.struts2.demo2;import com.opensymphony.xwork2.Action;/*** Action的编写 * @author zhangwt* 	实现接口的这种方式,提供了五个常量(五个逻辑视图的名称)* SUCCESS  :成功* ERROR	:失败* LOGIN	:登录出错页面跳转* INPUT	:表单的时候出错* NONE		:不跳转**/
public class ActionDemo2_2 implements Action{@Overridepublic String execute() throws Exception {// TODO Auto-generated method stubSystem.out.println("ActionDemo2_2执行了~~~~这是Action的第二个编写方法:实现一个Action的接口");return null;}}

struts_demo2.xml

在这里插入图片描述

运行结果

在 项目 运行
在这里插入图片描述

推荐!!!方法三:Action类继承ActionSupport类

先写一个action类,再写配置文件,再在 项目 运行
ActionDemo2_3.java
在这里插入图片描述

package com.zhang.struts2.demo2;import com.opensymphony.xwork2.ActionSupport;/*** * @author zhangwt*Action的编写方式三:Action类继承ActionSupport类*推荐使用这种方式,ActionSupport类中提供了数据校验,国际化等一系列操作的方法*/
public class ActionDemo2_3 extends ActionSupport{@Overridepublic String execute() throws Exception {// TODO Auto-generated method stubSystem.out.println("ActionDemo2_3执行啦~~~这是action类的第三种编写方式:Action类继承ActionSupport类");return NONE;}
}

struts_demo2.xml

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts><!-- Struts2为了管理Action的配置,通过package进行管理,action类在package里 --><!-- 配置Struts2的包================== --><!--package的name随便起名,但是不能重复 --><package name="demo2" extends="struts-default" namespace="/"><action name="ActionDemo2" class="com.zhang.struts2.demo2.ActionDemo2"></action><action name="ActionDemo2_2" class="com.zhang.struts2.demo2.ActionDemo2_2"></action><action name="ActionDemo2_3" class="com.zhang.struts2.demo2.ActionDemo2_3"></action></package>
</struts>

运行结果

在 项目 运行
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/799044.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SiteSpace 使用方法笔记

目录 介绍下载及安装准备工作知网 CNKI 文献分析数据准备数据转换新建项目图形处理 介绍 CiteSpace 是一个用于可视化和分析科学文献的工具。它可以从科学文献库中提取关键词、作者、机构和引用关系等信息&#xff0c;并将其可视化为图形网络。 一些使用案例 下载及安装 下载…

4.接口自动化测试-读取excel文件3.0

1.优化内容&#xff1a; 当用户需要仅执行测试用例里面指定的某一条或某几条用例运行时 具体方案&#xff1a;&#xff08;用例筛选&#xff09; &#xff08;1&#xff09;全部执行 &#xff08;2&#xff09;分段执行 用例01-用例07 &#xff08;3&#xff09;随机执行某一个…

D435i发布的话题学习

参考自https://blog.csdn.net/sinat_16643223/article/details/136406602?spm1001.2014.3001.5502 这里整理一下D435i庞大的topic话题数据。 根据算法来说的话&#xff0c;vins-fusion需要双目灰度图像的话题&#xff1a; camera/infra1/image_rect_raw 和camera/infra2/image…

菜鸟笔记-Numpy函数-random.rand/random.standard_normal/random.normal/random.uniform

random.rand函数 numpy.random.rand 是 NumPy 库中的一个函数&#xff0c;用于从均匀分布中生成随机浮点数。这些浮点数位于半开区间 [0.0, 1.0)&#xff0c;也就是说它们包括 0.0 但不包括 1.0。 1函数示例 numpy.random.rand(d0, d1, ..., dn) 参数 d0, d1, ..., dn&…

Redis从入门到精通(九)Redis实战(六)基于Redis队列实现异步秒杀下单

文章目录 前言4.5 分布式锁-Redisson4.5.4 Redission锁重试4.5.5 WatchDog机制4.5.5 MutiLock原理 4.6 秒杀优化4.6.1 优化方案4.6.2 完成秒杀优化 4.7 Redis消息队列4.7.1 基于List实现消息队列4.7.2 基于PubSub的消息队列4.7.3 基于Stream的消息队列4.7.4 基于Stream的消息队…

Golang单元测试和压力测试

一.单元测试 1.1 go test工具 go语言中的测试依赖go test命令。编写测试代码和编写普通的Go代码过程类似&#xff0c;并不需要学习新的语法&#xff0c;规则和工具。 go test命令是一个按照一定约定和组织的测试代码的驱动程序。在包目录内&#xff0c;所有以_test.go为后缀名的…

零代码编程:用kimichat打造一个最简单的window程序

用kimichat可以非常方便的自动生成程序代码&#xff0c;有些小程序可能会频繁使用&#xff0c;如果每次都在vscode中执行就会很麻烦。常用的Python代码&#xff0c;可以直接做成一个window程序&#xff0c;点击就可以打开使用&#xff0c;方便很多。 首先&#xff0c;把kimich…

Tokenize Anything via Prompting

SAM的延续&#xff0c;把SAM输出的token序列用来进行分类&#xff0c;分割和一个自然语言的decoder处理&#xff0c;但其实现在多模态的图像的tokenizer也几乎都是用VIT来实现的。一开始认为这篇文章可能是关于tokenize的&#xff0c;tokenize还是很重要的&#xff0c;后来看完…

JVM虚拟机(一)介绍、JVM组成、堆、栈、方法区/元空间、直接内存

目录 一、JVM 介绍1.1 为什么要学 JVM&#xff1f;1.2 JVM 是什么&#xff1f; 二、JVM 组成2.1 程序计数器2.2 Java堆1&#xff09;JVM 内存结构2&#xff09;Java 1.7 和 1.8 中堆的区别 2.3 Java虚拟机栈1&#xff09;虚拟机栈 和 栈帧2&#xff09;常见面试题 2.4 方法区/元…

搜索二维矩阵2 合并两个有序链表

240. 搜索二维矩阵 II - 力扣&#xff08;LeetCode&#xff09; class Solution { public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int i matrix.size() - 1, j 0;while(i > 0 && j < matrix[0].size()){if(matrix[i][j…

Vue中watch与计算属性computed

最近&#xff0c;写vue代码&#xff0c;判断父组件传来的type来作为条件判断&#xff0c;并用v-if v-else来控制页面展示。 起初用watch监听了type&#xff0c;发现值改变了&#xff0c;但是写在data配置项的visible属性书写错误&#xff0c;未实现响应式&#xff0c;如下&…

nodejs常用命令

序号命令名注释1clear 或者 cls 清空界面2ls/dir查看列表(list)3cd 目录名进入到目录中去4cd ..返回上一级目录5 cd \直接回到根目录 6CtrlC 停止 Node 程序7输入部分文件名后按下 Tab 键补全文件名 或 目录名&#xff0c; 多次tab会进行切换8 ↑ ↓ 上下箭头切换历史输…

基于wsl的Ubuntu20.04上安装桌面环境

在子系统Ubuntu20.04上安装桌面环境 1. 更换软件源 由于Ubuntu默认的软件源在国外&#xff0c;有时候后可能会造成下载软件卡顿&#xff0c;这里我们更换为国内的阿里云源&#xff0c;其他国内源亦可。 双击打开Ubuntu20.04 LTS图标&#xff0c;在命令行中输入 # 备份原来的软…

索尼相机照片清理软件

在使用索尼相机拍摄照片的时候有时我们需要同时拍摄JPG格式和RAW格式&#xff0c;这在后期选图的时候给我们带来一些麻烦。我们固然可以选用Br来管理照片&#xff0c;但是现在我们可以有一个更轻量的软件&#xff08;8.8MB&#xff09;来做到一部分功能。 我们将照片从SD卡导出…

docker安装mysql和nacos集群加nginx代理

安装mysql nacos 1、拉取mysql镜像 docker pull mysql:8.0.272、定义挂载目录 在/home/mysql目录下新建两个文件夹&#xff0c;一个叫data另一个叫conf 命令形式&#xff1a; mkdir -p /home/mysql/{data,conf}3、配置my.cnf&#xff08;my.ini&#xff09; vim /home/my…

AI推介-大语言模型LLMs论文速览(arXiv方向):2024.03.31-2024.04.05

文章目录~ 1.AutoWebGLM: Bootstrap And Reinforce A Large Language Model-based Web Navigating Agent2.Training LLMs over Neurally Compressed Text3.Unveiling LLMs: The Evolution of Latent Representations in a Temporal Knowledge Graph4.Visualization-of-Thought …

Java(二)面向对象进阶

目录 面向对象 多态性 向下转型 Object equals() toString() clone() finalize() Static 单例模式 代码块 final 抽象类与抽象方法(或abstract关键字&#xff09; 接口 接口的多态性 接口的默认方法 内部类 成员内部类 局部内部类 枚举类 实现接口的枚举类 …

网络安全流量平台_优缺点分析

FlowShadow&#xff08;流影&#xff09;&#xff0c;Ntm&#xff08;派网&#xff09;&#xff0c;Elastiflow。 Arkimesuricata&#xff0c;QNSMsuricata&#xff0c;Malcolm套件。 Malcolm套件优点&#xff1a;支持文件还原反病毒引擎&#xff08;clamav/yara&#xff09;…

IntelliJ IDEA 2024.1 更新亮点汇总:全面提升开发体验

IntelliJ IDEA 2024.1 更新亮点汇总&#xff1a;全面提升开发体验 文章目录 IntelliJ IDEA 2024.1 更新亮点汇总&#xff1a;全面提升开发体验摘要引言 IntelliJ IDEA 2024.1 的新增功能主要亮点全行代码完成 最终的支持 Java 22 功能新航站楼 贝塔编辑器中的粘滞线 人工智能助…

【SpringBoot3】SpringBoot入门

需求&#xff1a;使用 SpringBoot 开发一个web应用&#xff0c;浏览器发起请求 /hello后&#xff0c;给浏览器返回字符串 “hello world "。 步骤 ①. 创建Maven工程 ②. 导入spring-boot-stater-web起步依赖 <dependency> <groupId>org.springframework…