`
chen291382932
  • 浏览: 6801 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

struts2访问web元素

 
阅读更多
取得Map类型的request、session、application、真实类型的HttpServletRequest、HttpSession、HttpServletApplication
第一种方式:在Action中取得Map类型的request、session、application  依赖于容器的方式
public class LoginAction1 extends ActionSupport{
     private Map request;
     private Map session;
     private Map application;
   
    //构造函数
     public LoginAction1(){
       request = (Map)ActionContext.getContext().get("request");
       //为什么直接在get里面填写request就可以取得Map类型的request了呢?这是为什么呢
       //我们可以在jsp的页面上使用,就可以发现在debug中有两部分内容
//第一部分:Value stack(值栈) 其中包含的是一些Action中的属性、errors、fieldErrors、actionErrors等内容
//这些值可以在页面上用取出错误信息 或
//第二部分:Stack Context 也就是ActionContext (action的上下文环境),其中就包括了许多的key和对应的value
//在key的取值中就有request,所以上面用get("request")的方式就会取到Map类型的request值
//还有一点需要注意,在页面上访问ActionContext中的值时需要使用 #key 的方式。
       session = ActionContext.getContext().getSession();
       application = ActionContext.getContext().getApplication();
     }
     public String execute(){
        request.put("r1","r1");
        session.put("s1","s1");
        application.put("a1","a1");
         request SUCCESS;
     }
}
前台jsp页面访问时,可以这样来访问:
|
|
|
  //attr会自动搜索request,session,application范围搜索

第二种方式:  IOC方式
public class LoginAction2 extends ActionSupport implements RequestAware,SessionAware, ApplicationAware {

private Map request;
private Map session;
private Map application;

//DI dependency injection
//IoC inverse of control
public String execute() {
  request.put("r1", "r1");
  session.put("s1", "s1");
  application.put("a1", "a1");
  return SUCCESS;
}
@Override
public void setRequest(Map request) {
  this.request = request;
}
@Override
public void setSession(Map session) {
  this.session = session;
}
@Override
public void setApplication(Map application) {
  this.application = application;
}

}
其中的aware(得知,知道的意思),需要重写对应的方法
第三种方法:获得HttpServletRequest、HttpSession、HttpServletApplication  依赖于容器的方式
public class LoginAction3 extends ActionSupport {

private HttpServletRequest request;
private HttpSession session;
private ServletContext application;

public LoginAction3() {
  request = ServletActionContext.getRequest();
  session = request.getSession();
  application = session.getServletContext();
}

public String execute() {
  request.setAttribute("r1", "r1");
  session.setAttribute("s1", "s1");
  application.setAttribute("a1", "a1");
  return SUCCESS;
}

}
第四种方式:获得HttpServletRequest、HttpSession、HttpServletApplication   IOC方式
public class LoginAction4 extends ActionSupport implements ServletRequestAware {

private HttpServletRequest request;
private HttpSession session;
private ServletContext application;

public String execute() {
  request.setAttribute("r1", "r1");
  session.setAttribute("s1", "s1");
  application.setAttribute("a1", "a1");
  return SUCCESS;
}

@Override
public void setServletRequest(HttpServletRequest request) {
  this.request = request;
  this.session = request.getSession();
  this.application = session.getServletContext();
}

}
分享到:
评论

相关推荐

    struts2访问Web元素

    在“struts2访问Web元素”这个主题中,我们主要关注的是如何通过Struts2框架来操作和控制Web页面上的各种元素。这篇博文可能详细介绍了如何在Struts2中与HTML表单、按钮、文本框等交互,以及如何处理用户提交的数据...

    Struts2访问Web元素

    在"Struts2访问Web元素"这个主题中,我们将深入探讨如何在Struts2框架中与网页元素进行交互。 首先,我们需要了解Struts2的核心组件——Action类。Action类是业务逻辑的载体,负责处理用户请求,并返回相应的结果。...

    struts2 访问web元素

    在"Struts2 访问web元素"这个主题中,我们主要探讨的是如何在Struts2框架中与HTML表单、按钮、文本框等web元素进行交互。这涉及到Action类、Result类型以及Struts2提供的强大数据绑定机制。 1. **Action类**:在...

    Struts2中访问web元素的例子

    在Struts2中,访问web元素是开发过程中常见的需求,比如获取请求参数、session数据或者cookie等。本篇文章将详细介绍Struts2中四种访问web元素的方法。 1. **Action上下文(ActionContext)** ActionContext是...

    马士兵Struts2笔记2013

    9. **Struts2访问Web元素** Struts2可以通过OGNL(Object-Graph Navigation Language)轻松地访问和操作Web元素,如请求参数、session、application范围内的对象等。 10. **Stack Context** Stack Context是...

    Struts2_访问web元素_accessWebElements_s

    在这个主题“Struts2_访问web元素_accessWebElements_s”中,我们将深入探讨如何在Struts2中有效地访问和操作web元素。 首先,了解Struts2的生命周期至关重要。当一个HTTP请求到达服务器时,Struts2框架会接管请求...

    Struts2视频教程

    - **标签库**:Struts2提供了丰富的标签库,可以帮助开发者快速构建表单和页面元素,提高开发效率。 - **拦截器**:拦截器是Struts2的一个重要特性,可以在请求到达Action之前或之后执行特定的操作,如验证用户登录...

    留言板留言板struts2留言板struts2

    Struts2是一个强大的Java web应用程序框架,用于构建和部署企业级的MVC(Model-View-Controller)架构的Web应用。这个"留言板留言板struts2"项目,显然是一个基于Struts2实现的简单留言板系统,旨在展示Struts2的...

    struts2.5 web.xml配置

    在探讨Struts2.5中的`web.xml`配置时,我们首先需要理解`web.xml`在Java Web应用中的角色以及它如何与Struts框架交互。`web.xml`是Java Web应用的核心配置文件之一,用于定义应用程序级别的配置信息,如过滤器、监听...

    使用Struts快速实现web开发的登陆工程源程序

    在Struts中,可以利用ActionContext来访问session。 6. **安全考虑**:在实际开发中,为了增强安全性,还需要考虑密码加密存储、防止SQL注入、XSS攻击等问题。例如,密码在验证前应先进行哈希处理,不直接存储明文...

    传智播客struts2.1视频教程_介绍struts2及struts2开发环境的搭建

    5. **配置web.xml**:在web.xml中引入Struts2的过滤器,配置过滤器的映射,并指定Struts2的配置文件位置。 6. **添加Struts2库**:将下载的Struts2库(包括struts2-core等依赖库)添加到项目的类路径中。 7. **...

    struts2讲义 struts2讲义struts2讲义struts2讲义struts2讲义

    综上所述,Struts2是一个功能强大且灵活的Java Web开发框架,它不仅提供了丰富的特性,还通过其独特的设计模式和插件机制,使得开发者能够快速构建高质量的Web应用程序。通过对Struts2核心概念和技术的理解,开发者...

    spring3、struts2、mybatis结合的一个简单web实现

    在Java Web开发中,Spring、Struts2和MyBatis是三个非常重要的开源框架,它们分别负责不同层面的任务。Spring提供了全面的结构化和依赖注入功能,Struts2则是一个强大的MVC(Model-View-Controller)框架,而MyBatis...

    struts2全部的jar包

    Struts2允许开发者使用XML或注解来配置Action、Result和其他元素。这使得配置更为灵活,减少了硬编码。 4. **拦截器(Interceptors)**: 拦截器是Struts2的一大特色,它们可以插入到Action调用链中,实现如日志...

    Struts2 demo2

    6. **tablib**: Tablib可能指的是Struts2的标签库,它提供了一系列预定义的JSP标签,简化视图层的开发,如表单元素、数据展示等。 通过这些知识点,我们可以了解到"Struts2 demo2"可能涵盖了Struts2的核心特性,如...

    如何将一个web手工配成struts2

    这里的`<action>`元素定义了一个名为`helloWorld`的动作,当用户访问相应的URL时,Struts2会调用`com.example.HelloWorldAction`类中的方法,并将结果渲染到`/WEB-INF/helloworld.jsp`页面上。 #### 总结 通过以上...

    J2EE学习笔记

    对于Struts2访问Web元素,有两种主要方式。第一种是直接在Action中通过`ActionContext`来获取`request`、`session`和`application`域中的数据。例如,`#request.value`、`#attr`可以分别用于访问请求和session中的...

    struts2版本 2.1.6 必须的jar包 和 web.xml 文件的修改

    在Struts2中,`web.xml`是应用的部署描述符,它定义了初始化参数、过滤器、监听器和Servlet等关键元素。以下是你需要关注的部分: 1. **StrutsPrepareAndExecuteFilter** - 配置Struts2的过滤器,负责拦截所有HTTP...

    struts2入门例子

    在Struts2中,`struts.xml`是核心配置文件,它是整个应用的入口点,负责定义动作(Actions)、结果(Results)、拦截器(Interceptors)等关键元素。让我们深入探讨一下`struts.xml`的基本配置: 1. **Action配置**...

    struts2 例子和包

    Struts2是一个强大的Java web应用程序框架,用于构建和维护可扩展、优雅的MVC(Model-View-Controller)架构的应用程序。在这个“Struts2 例子和包”中,我们将会探讨Struts2的核心概念、配置、以及如何在Eclipse...

Global site tag (gtag.js) - Google Analytics