- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Struts2 Actions动作
Struts2 Actions动作
Actions是Struts2框架的核⼼,因为它们适⽤于任何MVC (Model View Controller )框
架。 每个URL映射到特定的action ,其提供处理 ⾃⽤户的请求所需的处理逻辑。
但action还有另外两个重要的功能。 ⾸先,action在将数据从请求传递到视图 (⽆论是
JSP还是其他类型的结果)⽅⾯起着重要作⽤。 第⼆,action必须协助框架确定哪个结
果应该呈现在响应请求的视图中。
创建Action
Struts2 中actions的唯⼀要求是必须有⼀个⽆参数⽅法返回String或Result对象,并且必
须是POJO 。如果没有指定no-argument⽅法,则默认是使⽤execute( ⽅法。
你还可以扩展ActionSupport类,该类可实现六个接⼜,包括Action接⼜。Action的接
⼜如下:
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 OGIN = login;
public String execute() throws Exception;
}
让我们 看看在Hello World⽰例中的action⽅法:
package cn.w3cschool.struts2;
public class HelloWorldAction{
private String name;
public String execute() throws Exception {
return success;
}
public String getName() {
return name;
}
public void setName(String name) {
= name;
}
}
为了说明action⽅法控制视图的要点,让我们对execute⽅法进⾏以下更改,并扩展
ActionSupport类如下:
package cn.w3cschool.struts2;
import com.opensymphony .xwork2.ActionSupport;
public class HelloWorldAction extends ActionSupport{
private String name;
public String execute() throws Exception {
if (SECRET.equals(name))
{
return SUCCESS;
}else{
return ERROR;
}
}
public String getName() {
return name;
}
public void setName(String name) {
= name;
}
}
在这个例⼦中,我们在execute⽅法中使⽤⼀些逻辑 查看name属性。如果属性等于字
符串“SECRET” ,我们返回SUCCESS作为结果,否则我们返回ERROR作为结果。因为
我们已经扩展了ActionSupport ,所以我们可以使⽤String常量、SUCCESS和ERROR 。
现在,让我们修改struts.xml⽂件如下:
?xml version=1.0 encoding=UTF-8?
!DOCTYPE struts PUB IC
-//Apache Software Foundation//DTD Struts Configuration 2.0//E
/dtds/struts-2.0.dtd
struts
constant name=struts.devMode value=true /
package nam
您可能关注的文档
- 2001何子述—— 基于数据共轭重排的修正ESPRIT信号DOA估计算法.pdf
- 2002-基于MATLAB的线性二次型最优控制器设计_周晓宏.pdf
- 2003word练习.doc
- 2002年安徽省高中数学竞赛.pdf
- 2003年ACCAHAESC室上性快速性心律失常治疗指南解读——房室结折返性心动过速.pdf
- 2003年ACCAHAESC室上性快速性心律失常治疗指南解读——大折返性房速.pdf
- 2003年上半年.doc
- 2003年上半年江苏省高等教育自学考试管理科学.doc
- 2003年ACC_AHA_ESC室上性快速性心律失常治疗指南解读_大折返性房速.pdf
- 2004-01-05_优盘文件系统(FOR C).pdf
文档评论(0)