01_3_创建一个Action
01_3_创建一个Action
1. 定义一个action
具体视图的返回可以由用户自己定义的Action来决定
具体的手段是根据返回的字符串找到相应的配置项,来决定视图的内容
具体Action的实现可以是普通的java类,里面有public String execute() 方法即可
或者实现Action接口
不过最常用的是从ActionSupport继承,好处在于直接使用Struts2封装好的方法。
1.1下载xwork-2.1.2.jar.zip包
wget http://www.java2s.com/Code/JarDownload/xwork/xwork-2.1.2-sources.jar.zip
并配置源码查看链接
1.2第一种方式
1.2.1配置struts.xml文件
<action name="index" class="com.sumapay.action.IndexAction1">
<!-- 1.此处,浏览器在访问index的时候,容器会将用户请求交给class com.sumapay.action.IndexAction1
处理 默认会执行IndexAction1类中的execute()方法,返回sucess字符串。result 默认不配置返回类型,就是success,
就会返回配置的DefininAction.jsp页面。 2.此处的class类,可以不设置,不设置的话,会默认使用Struts中的ActionSupport类,此类实现Action接口,Action接口中
同样有个execute()方法 -->
<result>
/DefinitionAction.jsp
</result>
</action>
1.2.2手工定义一个类,定义一个类包含execute()方法
package com.sumapay.action;
public class IndexAction1 {
public String execute() {
return "success";
}
}
1.3第二种方式
1.3.1配置struts.xml文件
<action name="index2" class="com.sumapay.action.IndexAction2">
<result>
/DefinitionAction.jsp
</result>
</action>
1.3.2创建一个类实现Action接口
package com.sumapay.action;
import com.opensymphony.xwork2.Action;
public class IndexAction2 implements Action{
public String execute() throws Exception {
return "success";
}
}
1.4第三种方式
1.4.1配置struts.xml文件
<action name="index3" class="com.sumapay.action.IndexAction3">
<result>
/DefinitionAction.jsp
</result>
</action>
1.4.2定义一个类基础ActionSupport这个类
package com.sumapay.action;
import com.opensymphony.xwork2.ActionSupport;
public class IndexAction3 extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public String execute() {
return "success";
}
}
01_3_创建一个Action的更多相关文章
- 01_3_创建一个Servlet
01_3_创建一个Servlet 1.创建一个Servlet import java.io.IOException; import java.io.PrintWriter; import javax. ...
- 使用 React 和 Flux 创建一个记事本应用
React,来自 Facebook,是一个用来创建用户界面的非常优秀的类库.唯一的问题是 React 不会关注于你的应用如何处理数据.大多数人把 React 当做 MV* 中的 V.所以,Facebo ...
- ROS2学习之旅(20)——创建一个动作消息
本文用来自定义一个动作消息类型. 以下命令用来创建一个工作空间并建立一个功能包: mkdir -p action_ws/src cd action_ws/src ros2 pkg create act ...
- 创建一个动作-Action类:
让我们创建一个Java文件HelloWorldAction.java的Java资源> SRC下一个的包名com.yiibai.struts2与下面的内容. package com.yiibai. ...
- 在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用
由于ASP.NET Web API具有与ASP.NET MVC类似的编程方式,再加上目前市面上专门介绍ASP.NET Web API 的书籍少之又少(我们看到的相关内容往往是某本介绍ASP.NET M ...
- 搭建QQ聊天通信的程序:(1)基于 networkcomms.net 创建一个WPF聊天客户端服务器应用程序 (1)
搭建QQ聊天通信的程序:(1)基于 networkcomms.net 创建一个WPF聊天客户端服务器应用程序 原文地址(英文):http://www.networkcomms.net/creating ...
- 利用django创建一个投票网站(四)
创建你的第一个 Django 项目, 第四部分 这一篇从第三部分(zh)结尾的地方继续讲起.我们将继续编写投票应用,专注于简单的表单处理并且精简我们的代码. 编写一个简单的表单 让我们更新一下在上一个 ...
- 创建一个新的Activity
1.创建一个类继承Activity类,并创建对应的布局文件,在onCreate方法中加载该布局. 2.在AndroidManifest.xml声明该组件 注:如果想配置一个activity在桌面上有该 ...
- Orchard入门:如何创建一个完整Module
这是一个Orchard-Modules的入门教程.在这个教程里,我们将开发两个功能页面分别用于数据录入与数据展示. 完成上述简单功能开发,我们一共需要6个步骤.分别为: 创建Module 创建Mode ...
随机推荐
- PHP 数字补零 固定位数补0
在处理订单编号的时候,需要固定位数的数字,比如需要固定四位数格式: 1->0001 56->0056 288->0288 1992->1992 可以使用php内置函数str_p ...
- Php5.6.15-fpm的运行机制源码剖析
源码版本:Php5.6.15 源码目录:sapi/fpm/fpm 说明:源码的主要功能在上面直接注解 =============>>start<<=============== ...
- thinkphp5实现mysql数据库备份
其实备份数据库说白了就是向一个.sql的文档中写入一条一条的sql命令 public function back() { $to_file_name="backsql.sql"; ...
- 集合中的 for-Each循环
数组的加强型的for-Each循环很简单,我们再来看一下集合中的for-Each 循环又是怎么样的.我们都知道集合中的遍历都是通过迭代(iterator)完成的.也许有人说,也可以按照下面的方式来遍 ...
- python进阶07 MySQL
python进阶07 MySQL 一.MySQL基本结构 1.认识MySQL #MySQL不是数据库,它是数据库管理软件 #MySQL如何组织数据 #如何进入MySQL数据库 #其他注意事项 #以表格 ...
- 洛谷1373(dp)
常规线性dp,需要时就加一维.\(dp[i][j][t][s]\)表示在点\((i,j)\)时瓶子里剩\(t\)且为\(s\)走(0代表小a,1代表uim)时的方案数. de了半天发现是初次尝试的快速 ...
- Netty(5)@Sharable
问题:我写了MyDecoder which extends ByteToMessageDecoder,单线程没问题,但是多线程时,报'the handler should be sharable'.查 ...
- (转) Linux命令详解-date
Linux命令详解-date 原文:https://www.cnblogs.com/Dodge/p/4278292.html 在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到 ...
- centos6.3搭建FTP服务器图文教程
今天下午不忙,没什么事,看到我大红盟linux版块如此冷清,心不能忍,做了个FTP服务器的搭建教程,大家可以看看, 不会做视频,就图文交叉了,写得不好,望谅解.以后有时间再出一个LNMP的教程. 不磨 ...
- 记录下这周的mysql调优工作
这周一至周四基本都在做mysql的测试和调优工作,包括erlang端对mysql的写入测试,到今天为止暂且告一段落,下周先做下其他的开发. 测试环境 使用的测试环境是aliyun的杭州节点 ...