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

news2025/1/23 4:08:26

文章目录

  • 方法一: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{

	@Override
	public String execute() throws Exception {
		// TODO Auto-generated method stub
		System.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{
	@Override
	public String execute() throws Exception {
		// TODO Auto-generated method stub
		System.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.coloradmin.cn/o/1576258.html

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

相关文章

基于视频监管与AI智能识别技术的水利河道综合治理解决方案

一、方案介绍 TSINGSEE青犀视频水利河道综合治理解决方案是依托视频AI智能分析技术&#xff0c;利用水质/水文等传感器、高清摄像机、水利球、无人机、无人船等感知设备实时采集数据&#xff0c;并与视频能力进行联动&#xff0c;达到智能预警的目的。 TSINGSEE青犀方案以信息…

【单源最短路 图论】882. 细分图中的可到达节点

作者推荐 视频算法专题 本文涉及知识点 单源最短路 图论 LeetCode 882. 细分图中的可到达节点 给你一个无向图&#xff08;原始图&#xff09;&#xff0c;图中有 n 个节点&#xff0c;编号从 0 到 n - 1 。你决定将图中的每条边 细分 为一条节点链&#xff0c;每条边之间…

4月7号总结

java学习 一.正则表达式 定义&#xff1a;正则表达式是一种用于描述字符串模式的表达式&#xff0c;通常被用于文本搜索、匹配和替换。它是一种强大的工具&#xff0c;可以在文本处理和文本分析中进行复杂的匹配和操作。 通过字符串引用里面的方法matches&#xff0c;然后执行…

jupyter python paramiko 网络系统运维

概述 通过使用jupyter进行网络运维的相关测试 设备为H3C 联通性测试 import paramiko import time import getpass import re import os import datetimeusername "*****" password "*****" ip "10.32.**.**"ssh_client paramiko.SSHCli…

相机标定——四个坐标系介绍

世界坐标系(Xw,Yw,Zw) 世界坐标系是一个用于描述和定位三维空间中物体位置的坐标系&#xff0c;通常反映真实世界下物体的位置和方向。它是一个惯性坐标系&#xff0c;被用作整个场景或系统的参考框架。在很多情况下&#xff0c;世界坐标系被认为是固定不变的&#xff0c;即它…

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之四 简单视频倒放效果

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之四 简单视频倒放效果 目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之四 简单视频倒放效果 一、简单介绍 二、简单视频倒放效果实现原理 三、简单视频倒放效果案例实现…

C++搭建深度学习的推理框架

我们的目的是:借助C++搭建一个类似于pytorch,tensorflow的深度学习框架,对标pytorch,tensorflow实现对应的功能。由于本人能力有限,下面本人将借助C++搭建一个简单的全连接神经网络,并且尝试解释里面的算子定义和计算图构建。 算子定义 回顾pytorch里面搭建的全连接神经网…

探索未来游戏:生成式人工智能AI如何重塑你的游戏世界?

生成式人工智能&#xff08;Generative AI&#xff09;正以前所未有的速度改变着各行各业的运作模式。其中&#xff0c;游戏产业作为科技应用的前沿阵地&#xff0c;正经历着前所未有的变革。本文将探讨生成式人工智能如何重塑游戏产业&#xff0c;以及这一变革背后的深远影响。…

Sora是什么?Sora怎么使用?Sora最新案例视频以及常见问题答疑

Sora 是什么&#xff1f; 2024年2月16日&#xff0c;OpenAI 在其官网上面正式宣布推出文本生成视频的大模型Sora 这样说吧给你一段话&#xff0c; 让你写一篇800字的论文&#xff0c;你的理解很可能都有偏差&#xff0c;那么作为OpenAi要做文生视频到底有多难&#xff0c;下面…

Linux设备深探:桥接硬件与软件的秘密通道

在Linux的世界里&#xff0c;"设备"这个词汇比你想象的要丰富和多彩得多。让我们一起来探索Linux设备的奥秘&#xff0c;理解它们是如何在Linux操作系统中发挥作用的。&#x1f427;✨ 1. 什么是Linux设备&#xff1f; 在Linux中&#xff0c;设备被看作是一种特殊的…

Day01-SHELL自动化编程-变量与特殊变量

Day01-SHELL自动化编程-变量与特殊变量 1.编程概述2.课程内容3.Shell编程语言必知必会4.编程语言分类&#xff08;按照执行方式&#xff09;-了解5.编程环境准备6.Shell脚本执行方式6.1概述6.2详解6.2.1 sh或bash6.2.1 .或source6.2.3 相对或绝对路径6.2.4 使用重定向符号执行脚…

iOS 17.5系统或可识别并禁用未知跟踪器,苹果Find My技术应用越来越合理

苹果公司去年与谷歌合作&#xff0c;宣布将制定新的行业标准来解决人们日益关注的跟踪器隐私问题。苹果计划在即将发布的 iOS 17.5 系统中加入这项提升用户隐私保护的新功能。 科技网站 9to5Mac 在苹果发布的 iOS 17.5 开发者测试版内部代码中发现了这项反跟踪功能的蛛丝马迹…

Spring源码解析-容器基本实现

spring源码解析 整体架构 defaultListableBeanFactory xmlBeanDefinitionReader 创建XmlBeanFactory 对资源文件进行加载–Resource 利用LoadBeandefinitions(resource)方法加载配置中的bean loadBeandefinitions加载步骤 doLoadBeanDefinition xml配置模式 validationMode 获…

海外媒体宣发,穿透与世界的交流 - “保姆级”教程 - 大舍传媒

1. 引言 在当今高度信息化的世界&#xff0c;境外媒体宣发已经成为企业、品牌和政府机构推广自身形象、扩大影响力的重要手段。如何在国际舞台上有效传播信息&#xff0c;提高国际知名度&#xff0c;成为了许多组织面临的重要课题。大舍传媒凭借多年的境外媒体宣发经验&#x…

数据恢复与数据取证的便携工具:PC-3000 Portable III

天津鸿萌科贸发展有限公司从事数据安全业务20余年&#xff0c;在数据恢复、数据取证、数据备份等领域有丰富的案例经验、前沿专业技术及良好的行业口碑。同时&#xff0c;公司面向取证机构及数据恢复同行&#xff0c;提供实验室建设方案&#xff0c;包含数据恢复与数据取证硬件…

elementPlus el-table动态列扩展及二维表格

1、循环列数据源&#xff0c;动态生成列 <template><div><el-table ref"table" :data"pageData.tableData" stripe style"width: 100%"><el-table-column v-for"column in pageData.columns" :key"column.p…

SMATool 程序:VASP + QE + 零温 + 有限温度 + 拉伸、剪切、双轴、维氏硬度的计算

分享一个 SMATool 程序&#xff1a;用于评估材料在零温&#xff08;使用密度泛函理论&#xff09;和有限温度&#xff08;使用从头算分子动力学&#xff09;下的拉伸、剪切、双轴和压痕强度&#xff08;维氏硬度&#xff09;。 感谢论文的原作者&#xff01; 关键词&#xff…

身份证实名认证接口的价格一般是多少呢?基于PHP身份核验接口

身份证实名认证接口分为身份证二要素、三要素、三要素人像核验接口&#xff0c;被广泛的应用于婚恋、交友、电商等等一系列行业领域&#xff0c;身份证实名认证需要实时数据&#xff0c;对于数据源来说也需要可靠&#xff0c;那么&#xff0c;身份证实名认证的价格是不是很贵呢…

HCLR-Net: 混合对比学习正则化与局部随机扰动用于水下图像增强

论文地址&#xff1a;https://doi.org/10.1007/s11263-024-01987-y 源码&#xff1a;https://github.com/zhoujingchun03/HCLR-Net 摘要&#xff1a; 由于水下环境复杂多样&#xff0c;导致光吸收、散射和色彩失真等严重退化现象&#xff0c;因此水下图像增强是一项重大挑战…

实战-解决编码问题

前言 在数据处理过程中,乱码是常见的一种现象,它归属于编码问题. 编码问题处理不当会导致解析错误和数据丢失的严重后果.文章主要是展示如何用Python的chardet库或Notepad的使用来解决编码问题. 常见表现 乱码 文本数据在屏幕上显示为不可识别的符号、方框、问号等&#xff0c;…