首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将ArrayList从JavaAction类(Struts1)传递到JSP

在Java中,要将ArrayList从JavaAction类(使用Struts1框架)传递到JSP页面,可以通过以下步骤实现:

  1. 在JavaAction类中创建一个ArrayList对象,并将需要传递的数据添加到该ArrayList中。例如:
代码语言:txt
复制
import java.util.ArrayList;

public class JavaAction {
    private ArrayList<String> dataList;

    public String execute() {
        dataList = new ArrayList<>();
        dataList.add("Data 1");
        dataList.add("Data 2");
        dataList.add("Data 3");
        return "success";
    }

    public ArrayList<String> getDataList() {
        return dataList;
    }
}
  1. 在JavaAction类中,创建一个公共的getter方法(例如getDataList())来获取ArrayList对象。
  2. 在struts-config.xml配置文件中,将JavaAction类与对应的JSP页面进行关联。例如:
代码语言:txt
复制
<action path="/javaAction" type="com.example.JavaAction" name="javaActionForm" scope="request" validate="false">
    <forward name="success" path="/jspPage.jsp" />
</action>
  1. 在JSP页面中,使用EL表达式${}来访问JavaAction类中的ArrayList对象,并进行遍历显示。例如:
代码语言:txt
复制
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE html>
<html>
<head>
    <title>ArrayList Example</title>
</head>
<body>
    <h1>Data List:</h1>
    <ul>
        <c:forEach var="data" items="${javaAction.dataList}">
            <li>${data}</li>
        </c:forEach>
    </ul>
</body>
</html>

在上述代码中,${javaAction.dataList}中的javaAction对应于struts-config.xml配置文件中的name="javaActionForm"dataList对应于JavaAction类中的getDataList()方法。

这样,当执行JavaAction类的execute()方法后,Struts1框架会将ArrayList对象传递到JSP页面,并通过EL表达式${}在页面上进行遍历和显示。

腾讯云相关产品和产品介绍链接地址:

  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版(CMYSQL):https://cloud.tencent.com/product/cmysql
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 人工智能(AI):https://cloud.tencent.com/product/ai
  • 物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 区块链(BCBaaS):https://cloud.tencent.com/product/baas
  • 腾讯云元宇宙(Tencent Cloud Metaverse):https://cloud.tencent.com/solution/metaverse
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

《Java入门失业》第四章:和对象(4.4):方法参数及传递

实参:这段代码中,我们先定义2个参数t和n,然后把t和n传递给麻将的构造方法,t和n我们称之为实参,即实际参数。...事实上,在Java语言中,只有值调用一种方式,不管传递的是基本数据类型还是类型。值调用因为传递的是内存的值,因此不管传递的是基本数据类型还是类型,都不会改变实参内存中的值。...实际上这个执行的过程如下: 定义变量v,给v分配一块内存,内存中的值存放5 调用changeValue方法,分配一块内存给形参value,并将v的值拷贝value的内存中 执行方法,将value内存中的值加...变量diaochan内存中的存放的是美人对象的地址,假设地址为0xA1 调用changeName方法,分配一块内存给形参player,并将diaochan的值拷贝player的内存中,因此形参player...因为看是否是值调用,根本是要看是否传递的是实参内存的值,Java中类型的传递,也是传递的实参内存中的值,只不过这个值是一个对象的地址(即引用)。

1.1K10

Struts2 学习之小白开始

,但是本质上讲 Struts2 不是 Struts1 扩展而来的,更应该说是一种换了品牌标签的 WebWork 更合适。...struts1 VS struts2 struts1 里使用 ActionServlet 作为控制器,Struts2 使用过滤器作为控制器 Struts1 中每个 HTML 表单都对应一个 ActionForm...程序的编写,其要求为在一个表单中输入用户的基本信息点击提交后跳转到另一个页面显示用户所输入的信息,在没有学习 Struts2 之前这对于我们来说非常简单,仅需要将页面请求发送到 Servet 中响应请求另一个页面...依据表单 name 属性编写实体,并创建 getXxx 和 setXxx 方法,Customer.java 在 struts.xml 文件中编写代码处理 struts2 请求 返回显示页面 show.jsp...index.jsp 发送的请求为一个 action 请求; action 代表一个 struts2 请求,Action 代表能够处理该 struts2 请求的 Action 的成员变量必须遵循与

51320
  • Struts2 学习之小白开始

    ,但是本质上讲 Struts2 不是 Struts1 扩展而来的,更应该说是一种换了品牌标签的 WebWork 更合适。...struts1 VS struts2 struts1 里使用 ActionServlet 作为控制器,Struts2 使用过滤器作为控制器 Struts1 中每个 HTML 表单都对应一个 ActionForm...程序的编写,其要求为在一个表单中输入用户的基本信息点击提交后跳转到另一个页面显示用户所输入的信息,在没有学习 Struts2 之前这对于我们来说非常简单,仅需要将页面请求发送到 Servet 中响应请求另一个页面...依据表单 name 属性编写实体,并创建 getXxx 和 setXxx 方法,Customer.java 在 struts.xml 文件中编写代码处理 struts2 请求 返回显示页面 show.jsp...index.jsp 发送的请求为一个 action 请求; action 代表一个 struts2 请求,Action 代表能够处理该 struts2 请求的 Action 的成员变量必须遵循与

    63660

    简单介绍几种Java后台开发常用框架组合

    下面就简单介绍一下三层架构: 1.表示层 表示层其实就是用户能够看到的界面显示层,但是它的职责并不仅仅是显示界面那么简单,而是需要完成三件事情: 界面中取得数据跟后台服务器交互 跟后台交互后进行数据绑定...2.业务层 这一层的功能主要是实现一些具体问题的操作,因为它是表示层和持久层之间沟通的桥梁,主要负责数据的传递和处理。...在日常的代码开发中一般对应着逻辑Service层,对于一些复杂的逻辑判断和涉及数据库的数据验证都需要在这一层做出处理,同时根据传入的值返回用户想得到的值,或者处理相关的操作。...它包含Struts1和Struts2两个版本,两者的相差其实还是挺大的,Struts2并不是对Struts1的更新,而是充分发挥了Struts1和WebWork这两种技术的优势,它抛弃了原来Struts1...Spring框架 学习基础的时候大家应该都知道,最传统的Java Web应用程序是采用JSP、Servlet、Javabean来实现的,这种模式实现了最基本的MVC分层,使得程序结构有负责前台展示的 JSP

    1.7K30

    Struts2基础(1)

    通常控制器负责视图读取数据,控制用户输入,并向模型发送数据。 ?... 新建业务(控制)组件 Struts2的业务组建非常的简洁,简洁仅仅由一个POJO(简单的Java对象)就可以实现Struts1中Action+ActionFrom的功能...新建一个package包,命名为controller,然后再该包中新建一个Login,这个的功能就相当于Struts1中的Action或Servlet,其功能都是MVC模型中的控制层,代码如下: package...页面和控制层文件,而且,已经在控制层Login中实现了一个简易的登录验证功能,下一步就是通过配置JSP页面与Login和其他组件关联起来。...在Struts1中使用的是中心控制的ActionServlet来进行请求的分发,Struts2中使用的是过滤器。 为什么要配置web.xml?

    45610

    SSH框架总结

    集成SSH框架的系统职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层(实体层)。...2、Struts1的核心构成 在 Struts1 中,由一个名为 ActionServlet 的 Servlet 充当 控制器(Controller)的角色,根据描述模型、视图、控制器对应关系的 struts-config.xml...解析: 当Web容器收到请求(HttpServletRequest)它将请求传递给一个标准的的过滤链包括 流程(ActionContextCleanUp)过滤器,然后经过Other filters(SiteMesh...7、 Struts1和Struts2的区别 详见《Struts1 和 Struts2》 三、Hibernate 1、什么是Hibernate?...4、支持透明持久化,因为hibernate操作的是纯粹的(pojo)java,没有实现任何接口,没有侵入性。所以说它是一个轻量级框架。

    99740

    走进JavaWeb技术世界2:JSP与Servlet的曾经与现在

    该系列博文会告诉你如何入门进阶,servlet框架,ssm再到SpringBoot,一步步地学习JavaWeb基础知识,并上手进行实战,接着了解JavaWeb项目中经常要使用的技术和组件,包括日志组件...当容器收到一个Servlet请求,调度线程线程池中选出一个工作者线程,将请求传递给该工作者线程,然后由该线程来执行Servlet的service方法。...单例策略限制了Struts1 Action能作的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的。...(JSP的本质就是Servlet,JVM只能识别java的,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java) 2.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制...,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌一个中,由Jsp容器完成。

    69900

    Struts2 入门学习总结一

    Struts2是Struts的下一代产品,这个框架充分发挥了Struts1和WebWork这两种技术的优势,抛弃原来Struts1的缺点,使得Web开发更加容易。...还有以下优点: 项目开源,使用及扩展方便 – 天生优势; 提供Exception处理机制; Result 方式的页面导航,通过 Result 标签很方便的实现重定向和页面跳转; 通过简单、集中的配置来调度业务,...和hello.jsp 在工程目录下的WebContent目录下的WEB-INF文件夹下创建index.jsp和hello.jsp文件 index.jsp内容如下: <%@ page language="...核心过滤器(Controller)通过动作映射(ActionMapper)获得Action的信息 然后核心过滤器(Controller)再调用动作<em>类</em>的代理<em>类</em>(ActionProxy ),由ActionProxy...ActionProxy把Request请求<em>传递</em>给ActionInvocation ActionInvocation依次调用Action和拦截器(Interceptor) ,再根据Action的配置信息生成

    37620

    struts2.0的工作原理「建议收藏」

    struts2并不是一个陌生的web框架,它是以Webwork的设计思想为核心,吸收struts1的优点,可以说 struts2是struts1和Webwork结合的产物。...在 调用Action的过程前后,涉及相关拦截器(intercepetor)的调用。 7....返回结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。...应用流程注解 当 Web容器收到 请求(HttpServletRequest)它将请求传递给一个标准的的过滤链包括(ActionContextCleanUp)过滤器,然后经过Other filters...接下来FilterDispatcher将控制权委派给ActionProxy,ActionProxy调用配置管理器(ConfigurationManager) 配置文件中读取配置信息(struts.xml

    44310

    J2EE项目涉及的不同的前端连接框架

    J2EE企业版本自带的开发前端界面框架是JSP和Servlet的组合。JSP页面有很多的EL表达式标签对后端servlet提供过来的数据进行动态解析。...严格的MVC设计开发模式是一个JSP页面对应一个后端的Servlet服务。Servlet单例模式是整个web项目的服务进程。EL表达式是J2EE版本的默认规范。...扩展的服务端运行框架像Struts1和Struts2都自带开发好的前端界面数据存取解析的标签。开发框架的开源在默认企业规范的标准下增加很多的业务逻辑处理。...前端的数据使用默认的开发数据类型,主要传递给后端。Java服务端对接的用户界面框架PC端移动端迁移。前端框架组件是企业对开发者用户的一种应用程序接口调用开放。JS丰富的特效是用户视觉的良好的体现。...JSP是程序设计开发者的主要是数据处理业务逻辑设计开发模块,对用户的使用视觉体验并不是十分擅长。开发周期端和使用难度的降低很好的和服务端的数据处理语言Java对接。数据是语言进行通信的桥梁。

    7710

    Struts2的相关介绍入门级

    二、struts2与struts1的区别 1.struts使用的是拦截器的概念,结合各种过滤器来获取url,与struts1最大的区别在于,struts1是单实例的(所有请求共享一个单实例),struts2...并且struts2的action可以使用POJO 三、struts2的使用 3.1struts2的六的配置文件 1.struts-default.xml struts2默认配置 在这个struts2...为了让大家明白struts2的基本流程,其实框架没有大家想象的那么难,说白了struts2的本质就是一个大的Servlet,即原本需要提交到Servlet处理的部分现在通过配置文件将其交给普通的Class进行处理...首先新建一个javaWeb项目,然后把struts2所依赖的包导入lib下(可以百度一下也可以直接到官网上下载),然后在web.xml中对struts2进行配置,添加的内容如下(举一个简单的例子):...然后此处的class对应的则是交给谁去处理,根据配置文件我们在com.struts.action包中新建一个TestAction的,此类的内容如下: 1 package com.struts.action

    25020

    学习java需要会哪些知识才能够去应聘工作?

    第九天、java的工具(Util)包(1): Date Calendar Random随机数 ArrayList LinkedList 第十天、java的工具(Util)包(2): Set接口,HashSet...然后我们就会进入jdbc的学习,比较sql语言还是需要嵌入程序中,那么就需要认真学习一下jdbc,我们会深入的学习如何使用jdbc链接数据库,同时也会重点讲解一下如何封装一个BaseDao,以更方便的操作数据库...第一天、什么是JSP页面: jsp的实质是什么?...其中Struts框架以前指的是Struts1框架,不过现在使用的人已经慢慢减少了,而且Apache对Struts1也不再发布新版本了,所以现在一般指的是Struts2框架。...Struts2是是在WebWork的技术基础上开发了全新MVC框架,虽然和Struts1名字有点类似,但是其实和Struts1的关系比不是很大。

    1.2K100

    Strust2总结及在面试中的一些问题.

    将值绑定要视图上 Struts 1使用标准JSP机制来绑定对象页面上下文。 Struts 2使用“ValueStack”技术了标签库可以不用链接你的视图对象的表现类型访问值。...页面) 9、响应用户(jsp--->客户浏览器端显示) 10、struts2标签库(相比struts1的标签库,struts2是大大加强了,对数据的操作功能很强大) ?...ValueStack 是 struts2 提供一个接口,实现 OgnlValueStack ---- 值栈对象 (OGNL是值栈中获取数据的 )每个Action实例都有一个ValueStack对象...两种方式 // 将数据保存root的索引0位置,放置第一个元素 ArrayList add(0,element); valueStack.push("itcast"); // 在值栈创建参数map...值栈主要解决Action向JSP传递数据问题 Action 向JSP 传递数据处理结果 ,结果数据有两种形式 1)消息 String类型数据 this.addFieldError("msg", "

    92570

    struts2讲解

    将值绑定要视图上 Struts 1使用标准JSP机制来绑定对象页面上下文。 Struts 2使用“ValueStack”技术了标签库可以不用链接你的视图对象的表现类型访问值。...页面) 9、响应用户(jsp—>客户浏览器端显示) 10、struts2标签库(相比struts1的标签库,struts2是大大加强了,对数据的操作功能很强大) 请求(.action)—->经过StrutsPrepareAndExecuteFilter...ValueStack 是 struts2 提供一个接口,实现 OgnlValueStack —- 值栈对象 (OGNL是值栈中获取数据的 )每个Action实例都有一个ValueStack对象 (一个请求对应...两种方式 // 将数据保存root的索引0位置,放置第一个元素 ArrayList add(0,element); valueStack.push(“itcast”); //...值栈主要解决Action向JSP传递数据问题 Action 向JSP 传递数据处理结果 ,结果数据有两种形式 1)消息 String类型数据 this.addFieldError(“msg”, “字段错误信息

    67130

    聊聊Servlet、Struts1、Struts2以及SpringMvc中的线程安全

    线程安全 Servlet Servlet/JSP技术和ASP、PHP等相比,由于其多线程运行而具有很高的执行效率。...由于Servlet/JSP默认是以多线程模式执行的,所以,在编写代码时需要非常细致地考虑多线程的安全性问题。...然而,很多人编写Servlet/JSP程序时并没有注意多线程安全性的问题,这往往造成编写的程序在少量用户访问时没有任何问题,而在并发用户上升到一定值时,就会经常出现一些莫明其妙的问题。...Struts1使用的ActionServlet是单例的,既然是单例,当使用实例变量的时候就会有线程安全的问题。所有一般在开发中试禁止使用实例变量的。...总结 servlet Struts1 SpringMvc 是线程不安全的,当然如果你不使用实例变量也就不存在线程安全的问题了。

    49420

    聊聊Servlet、Struts1、Struts2以及SpringMvc中的线程安全

    线程安全 Servlet Servlet/JSP技术和ASP、PHP等相比,由于其多线程运行而具有很高的执行效率。...由于Servlet/JSP默认是以多线程模式执行的,所以,在编写代码时需要非常细致地考虑多线程的安全性问题。...然而,很多人编写Servlet/JSP程序时并没有注意多线程安全性的问题,这往往造成编写的程序在少量用户访问时没有任何问题,而在并发用户上升到一定值时,就会经常出现一些莫明其妙的问题。...Struts1使用的ActionServlet是单例的,既然是单例,当使用实例变量的时候就会有线程安全的问题。所有一般在开发中试禁止使用实例变量的。...总结 servlet Struts1 SpringMvc 是线程不安全的,当然如果你不使用实例变量也就不存在线程安全的问题了。

    89360
    领券