Java <;c:forEach>;不适用于打印字符串列表

Java <;c:forEach>;不适用于打印字符串列表,java,jsp,jakarta-ee,jstl,Java,Jsp,Jakarta Ee,Jstl,您好,我正在尝试使用JSTL打印存储在ArrayList对象中的字符串列表,以下是我的jsp页面: <%@page import="java.util.ArrayList"%> <%@page import="java.util.List"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <% List<String> al

您好,我正在尝试使用JSTL打印存储在
ArrayList
对象中的字符串列表,以下是我的jsp页面:

<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>    
<%         
    List<String> al = new ArrayList<String>();        
    al.add("testing1");        
    al.add("testing2");        
    al.add("testing3");
    al.add("testing4");        
    al.add("testing5");        
    System.out.println("hello"+ al);           
%>
    <c:forEach var="alla" items="${al}" >       
        <c:out value="Hello text"></c:out>        
        <c:out value="${alla}"></c:out>        
    </c:forEach>


当我看到输出时,它没有在浏览器上显示任何内容,我已经使用
foreach
打印了它,它显示了结果,而在
JSTL
中它没有打印?

JSTL
用于打印
会话
请求
范围中的对象。您没有将您的
列表设置为所有这些

尝试将其添加到
会话
,然后通过
jstl

HttpSession session = request.getSession();
session.setAttribute("al", al);
并使用
c:forEach
将其打印到页面中

另请参见


jstl
用于打印来自
会话
请求
范围的对象。您没有将您的
列表设置为所有这些

尝试将其添加到
会话
,然后通过
jstl

HttpSession session = request.getSession();
session.setAttribute("al", al);
并使用
c:forEach
将其打印到页面中

另请参见


为什么您认为
${al}
应该引用scriptlet中声明的变量
al
?为什么您认为
${al}
应该引用scriptlet中声明的变量
al