`
XTU_xiaoxin
  • 浏览: 237796 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2中的Action详解

阅读更多
   这章,将要对struts2中的Action作一个简单的介绍。

   相对struts1而言,struts2采用了低侵入的设计,struts2中不要求Action继承任何struts2中的基类,或者实现其它接口。在这种设计的方式下,struts2中的Action就相当于一个POJO,从而降低了Action的耦合性以及提高了Action的复用性。
和struts1的又一比较大的区别是,struts2中已经取消了ActionForm,所有用户请求的参数改成都封装在对应的Action中,如:

public class LoginAction {
private String userName;
public String getUserName() {
return userName;
}

}


   如上,封装了userName属性,但注意:封装属性的同时,必须要提供set方法struts2是通过对应的set方法来处理这些参数的,而不是通过参数名来处理的

    Struts2中的Action不仅可以封装请求的参数,还可以封装处理后的参数。如:

private String tip;
public  void setTip(String tip) {
  this.ti= tip;
}

    在Action的处理中,设置tip的值,则在处理后的视图中,则可显示该处理结果,如:
 
<s:property value=”tip”/>


     为了让用户的开发更加规范,struts2中提供了Action接口和ActionSupport基类,其中ActionSupport是个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;
}


注意Action中的几个常量,对已后Action更深一步的认识有帮助.

    有人也许会问,既然Action中类似一个POJO,那以后要直接用到Servlet API,如HttpServletRequest和ServletContext等这么办呢?
没关系,Struts2中提供了两种解决方法,第一种就是使用struts2提供的工具类-ServletActionContext。它提供了一些列静态方法,可以直接获得Servlet API,如
HttpServletRequest和ServletContext的对象,即:

ServletActionContext .getServletContext()
ServletActionContext. GetResponse()
ServletActionContext.GetRequest()
ServletActionContext. getPageContext()



第二种方法即是实现struts2中对应的几个接口:
ServletContextAware、ServletResponseAware、ServletRequestAware等。
如一个Action实现ServletContextAware,则必须实现如下方法:
Public void setServletResponse(HttpServletResponse response);
其它与此类似


其实,struts2还提供了一个非常实用的类,即跟踪Action的上下文的类ActionContext,具体下章再作详细的解释。
分享到:
评论

相关推荐

    Struts2中struts_xml的Action配置详解

    Struts2中struts_xml的Action配置详解

    Struts2属性文件详解

    Struts2属性文件详解 struts.configuration 该属性指定加载Struts 2配置文件的配置文件管理器.该属性的默认值是org.apache.Struts2.config.DefaultConfiguration, 这是Struts 2默认的配置文件管理器.如果需要实现...

    Struts2之Action详解2

    NULL 博文链接:https://ihuning.iteye.com/blog/2233463

    struts2 配置文件详解

    struts2 配置文件详解 ,配置struts2 action和strtus1是不一样的,需要特殊处理一下

    struts2配置详解

    Struts2 中的验证逻辑编写在 Action 中. 4、Struts1 中, Action 类必须继承 org.apache.struts.action.Action 类; Struts2 中任何一个 POJO 都可以是一个 Action 类. 5、Struts2 在页面里使用 OGNL 来显示各种对象...

    struts2的struts.properties配置文件详解

    Struts2的Struts.properties配置文件详解 Struts2是一个基于MVC模式的Web应用程序框架,它提供了一个名为Struts.properties的配置文件,该文件用于配置Struts2的各种参数和设置。下面将对Struts.properties配置文件...

    详解Struts2中Action访问Servlet API的几种方法

    详解Struts2中Action访问Servlet API的几种方法 在通常的web开发中Request和Response对象比较常见,但在Struts2框架中由于Action能与JSP页面进行数据交互,所以通常都不会用到这两个对象。如果想在Struts2程序中用到...

    Struts2详解,Struts2与Struts1的区别

    Struts2和Struts1的常见区别 二. Struts2入门 3. 快速配置Struts2环境 4. 开发一个Struts2简单实例 5. struts.xml文件 三. Struts2深入开发 6. 常用&lt;Action&gt;标签配置和使用 7. 常用标签配置和使用 8....

    struts2 详解文档

    Struts 2的处理流程与Action的管理方式 为应用指定多个配置文件 动态方法调用和使用通配符定义action 请求参数接收 自定义类型转换器 全局类型转换器 访问或添加几个属性 文件上传 多文件上传 自定义拦截...

    Struts 2 配置Action详解

    本篇文章主要介绍了Struts 2 配置Action详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    struts2配置详解文档

    struts2配置详解,完全从零开始教你配置

    非常不错的中文struts2教程[CHM]

    内容: 1、OGNL —— 数据运转的催化剂 ...4、Struts2中的Action 5、Struts2中的参数传递 6、标签库,永恒的争论话题 7、拦截器详解 8、配置,灵活还是简单? 9、深入plugin 10、在Struts2中使用OGNL

    struts面试题详解

    struts面试题详解,Struts1框架以ActionServlet作为核心控制器,整个应用由客户端请求驱动。

    Struts课堂笔记.rar--struts2的struts.properties配置文件详解

    struts.action.extension The URL extension to use to determine if the request is meant for a Struts action 用URL扩展名来确定是否这个请求是被用作Struts action,其实也就是设置 action的后缀,例如login....

    Struts2中Action中是否需要实现Execute方法

    主要介绍了Struts2中Action中是否需要实现Execute方法的相关资料,需要的朋友可以参考下

    Struts2的配置 struts.xml Action详解

    主要介绍了Struts2的配置 struts.xml Action详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    struts2 学习笔记 实战

    三、 Namespace Namespace决定了action的访问路径,默认为“”,可以接收所有路径的action,如果没有找到相应的namespace时,则使用namespace为空的action ...struts2中的package与java的package是相同的作用的。

    struts2中使用注解配置Action方法详解

    主要介绍了struts2中使用注解配置Action方法详解,涉及一个示例,具有一定参考价值,需要的朋友可以了解下。

    Struts2入门教程(全新完整版)

    1.概述strust2中的拦截器 28 2.自定义拦截器 28 方式一,实现Interceptor接口。 28 方式二、继承AbstractInterceptor抽象类 29 方式三、继承MethodFilterInteceptor类 30 3.使用来MethodFilterInterceptor灵活拦截 ...

    详解Struts2中配置默认Action的方法

    本篇文章主要介绍了详解Struts2中配置默认Action的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

Global site tag (gtag.js) - Google Analytics