Struts2之Action相关

本文介绍了Struts2框架中的核心概念,包括成为Action类的三种方式、访问范围对象的方法、请求参数的处理及结果配置等内容,为初学者提供了详细的指导。
1、成为action类的三种方式
1)普通的JavaBean
2)实现Action接口(实现Action的以下静态属性,none,error,input,login,success)
3)继承ActionSupport(常用,本身实现了Action接口)

2、如何访问范围对象*(2种方式)
范围对象(scope objects)
    request:HttpServletRequest
    session:HttpSession
    application :ServletContext
还有一个不是范围对象,但是很重要
    response:HttpServletResponse
1)使用ServletActionContext
    ServletActionContex提供以下静态方法
    public static HttpServletRequest getRequest();
    public static HttpServletResponsegetResponse();
    public static ServletContextgetServletContext() ;
    示例代码: 
    /*
     * 如果用到像HttpServletRequest这样的api
     * 意味着一定要跟servlet容器绑定
     * 也意味着测试的时候一定要去在web环境下才测试
     *
     * struts2希望我们的测试更方便,即不需要web环境也能测试
     * 所以struts2封装了另一种形式的requeset,session,application
     *
     */
    HttpServletRequest request = ServletActionContext.getRequest();
    HttpServletResponse response = ServletActionContext.getResponse();
    HttpSession session = request.getSession();
    ServletContext servletContext = ServletActionContext.getServletContext();
            
    request.setAttribute("aaa", "123");
    session.setAttribute("userName", userName);
    servletContext.setAttribute("bbb", "456");

2)Aware接口
    实现以下接口和它的方法,可以得到相应的范围对象
    SessionAware setSession(Map map)
    RequestAware
    ApplicationAware
常这样得到:
Map applicationMap = ActionContext.getContext().getApplication();
Map sessionMap = ActionContext.getContext().getSession();
Map requestMap = (Map)ActionContext.getContext().get("request");
requestMap.put("aaa", "123");
sessionMap.put("userName", userName);
applicationMap.put("bbb", "456");

3、如何访问请求参数
直接在Action类中定义页面属性
在Action中定义封装类对象
使用ModelDriven接口(常用)

4、结果(result)



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值