尚硅谷公开课--struts2--5--ActionSuport

ActionSuport,默认的Action类。在配置struts2.xml中的action结点时,如果不填写action的class属性,则其默认值为ActionSuport。可以在struts2的默认配置文件中查看该值,位置在文件中struts-default包配置的最后,也是此默认配置文件的最后:

<package name="struts-default" abstract="true">
...
...
   <default-class-ref class="com.opensymphony.xwork2.ActionSupport" />
</package>

在struts2.xml中添加一个action,内容如下:

<action name="TestActionSuportAction">
	<result>/test-ActionSuportAction.jsp</result>
</action>

添加一个jsp页面:test-ActionSuportAction.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h4>Test ActionSuport</h4>
</body>
</html>

在index.jsp中添加一个链接

<a href="TestActionSuportAction.do">Test ActionSuport</a>

运行项目

可以看到我们没有指定action的class属性,但是页面同样可以正常跳转,打开com.opensymphony.xwork2.ActionSupport的源码,找到execute函数

public String execute() throws Exception {
        return SUCCESS;
    }

此函数返回了一个字符串,其值为 success ,在action中,虽然没有配置result的name属性,但其默认属性为success,所以可以正常跳转。也就是说上面的action等价于:

<action name="TestActionSuportAction"
			class="com.opensymphony.xwork2.ActionSupport"
			method="execute">
			<result name="success">/test-ActionSuportAction.jsp</result>
		</action>

ActionSuport类实现了Action接口,Action接口的内容如下:

package com.opensymphony.xwork2;

public interface Action {

    public static final String SUCCESS = "success";

    public static final String NONE = "none";

    public static final String ERROR = "error";

    public static final String INPUT = "input";

    public static final String LOGIN = "login";

    public String execute() throws Exception;

}

可以看到SUCCESS常量和execute()方法均在此接口中声明。

ActionSuport除了实现Action接口外,还实现了其它几个接口,实现了字段验证,国际化等功能。限于能力,现只作记录。

时间: 2024-10-24 22:37:12

尚硅谷公开课--struts2--5--ActionSuport的相关文章

尚硅谷公开课--struts2--2--搭建struts2环境

1.在eclipse中新建一个java web项目 2.复制jar包 在下载的struts2中,有一个apps文件夹,这个文件夹下的.war文件即是官方给出的例子,其中struts2-blank.war是一个空的应用,即里面什么都没有.但是这个并不是最小的应该. 解压struts2-blank.war,将struts2-blank\WEB-INF\lib下的.jar文件复制到java web项目中的lib文件夹中. 3.配置web.xml文件 复制struts2-blank中web.xml中关于

尚硅谷公开课--struts2--4--struts2中扩展名的配置

struts2中,扩展名的配置位于: 此文件配置了一些常量,如编码格式,文件上传大小限制等.找到如下字符串: struts.action.extension=action,, 这一句就是struts2中关于扩展的配置了.默认配置的含义为:可识别的扩展名为.action或无扩展名 想要自定义扩展名,是在struts.xml中使用常量的方式配置,如下配置即是在默认配置的基础上添加了do这个扩展名 <!-- 配置扩展名 --> <constant name="struts.actio

尚硅谷公开课--struts2--3--struts2中获取web资源的几种方式

在struts2中,可以在JavaBean类中写公用的返回值为String类型的方法来响应页面上的请求,也可以在此方法中获取web资源,如:request,application,session,parameters等. 一.通过ActionContext获取 步骤: 1.获取ActionContext对象 通过ActionContext.getContext()获取一个ActionContext的实例 2.获取web资源对应胡Map 此Map类型为Map<String,Object>.获取方

尚硅谷公开课--struts2--7--通配映射

对于某一类的action响应,它们的响应都是相似的,如下: UserAction.java package com.laolang.action; public class UserAction { public String save(){ return "save-success"; } public String update(){ return "update-success"; } public String delete(){ return "

2018年尚硅谷《全套Java、Android、HTML5前端视频》

全套整合一个盘里:链接:https://pan.baidu.com/s/1nwnrWOp 密码:h4bw 如果分类里没有请下载下边那些小项教程链接 感谢尚硅谷提供的视频教程:http://www.atguigu.com/ [全套Java教程--打包下载地址]Java基础阶段一.20天横扫Java基础(课堂实录)https://pan.baidu.com/s/1jJpzHv4 二.尚硅谷Java基础实战--Bank项目http://pan.baidu.com/share/link?shareid=

java学习笔记-尚硅谷0918班任*:从一个无所事事,生活极其没有规律的待业青年

一个月的时间过去了,在这一个月的时间里,我从一个无所事事,生活极其没有规律的待业青年,变成了一个对前途充满希望,努力去争取的五好青年.生活规律,有节奏:学习肯发力,肯努力.这些都跟我做决定来到尚硅谷java培训有这密不可分的关系.当然重点还是要感谢尚硅谷的各位老师的指点和栽培.我对于我现在的状态很满意,对于我的未来抱有很美好的希冀.    一.学习方面: 一个月的时间,JAVASE基础部分已经讲完了.从刚开始的仅仅局限于了解到现在的能够大致的掌握,我感觉我的进步还是蛮大.在教室里能跟上老师的节奏

转:深度学习课程及深度学习公开课资源整理

http://www.52nlp.cn/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E8%AF%BE%E7%A8%8B%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E5%85%AC%E5%BC%80%E8%AF%BE%E8%B5%84%E6%BA%90%E6%95%B4%E7%90%86 这里整理一批深度学习课程或者深度学习相关公开课的资源,持续更新,仅供参考. 1. Andrew Ng (吴恩达) 深度学习专项课程 by Courser

ASP.NET网络安全简单防护公开课

今天下午看了一下itcast的公开课,2010年10月28号,虽然很早了,但是才下载下来看.以前看完了itcast的所有免费视频教程,2010年版的13季,2011年版的ASP.NET!=拖控件系列,收获了很多,在此很感谢itcast提供的免费视频.也曾打算过去北京实地培训,拜师杨中科老师,但1万5的费用(学费+吃住等开销,至少1万5吧)暂时还承受不住.于是只有多利用点免费资源,多去51aspx网下点项目来观摩并实践来满足自己的学习. 今天看的这期是关于ASP.NET的网络安全简单防范的,做了如

公开课视频-《第05章 部署-VMware-服务器虚拟化-esxi 6.0.0 U1》

链接:http://pan.baidu.com/s/1mio4E1a   密码:9hag 线下课开班,请咨询:学无止境 3313395633 以往公开课视频: 公开课视频-<第04章 部署-Microsoft-服务器虚拟化-Hyper-V 2012 R2> http://dynamic.blog.51cto.com/711418/1791965 51CTO 学院三周年庆,视频全场5折. 仅限:2016-06-30 00:00 - 2016-07-01 *********************