java - JSP - session 属性 null 中的 ArrayList

标签 java jsp jakarta-ee

我试图在每个用户 session 的数组列表中存储一些数据,但是当我尝试获取列表时,它显然为空......

代码:

<%
    List<String> attacks = new ArrayList<>();
    if (request.getSession().getAttribute("attackList") != null){
        attacks = (List<String>) request.getAttribute("attackList");
        int x = 1;
        for (String attack : attacks){
            String[] attacc = attack.split(":");
            out.print("" +
                    "<tr>\n" +
                    "                                    <th scope=\"row\">"+x+"</th>\n" +
                    "                                    <td>"+attacc[0]+"</td>\n" +
                    "                                    <td>"+attacc[1]+"</td>\n" +
                    "                                    <td>"+attacc[2]+"</td>\n" +
                    "                                    <td>"+attacc[3]+"</td>\n" +
                    "                                </tr>");
            x++;
        }
    }else{
        out.print("empty");
    }
%>

^ 是我用来获取数据的代码,它打印“空”,所以它本质上是空的...... 我如何添加数据:

if (request.getAttribute("attackList") != null) {
    attacks = (List<String>) request.getAttribute("attackList");
    request.removeAttribute("attackList");
}
attacks.add("data here");
request.setAttribute("attackList", attacks);

我没有尝试过任何东西,因为我不知道在这里要尝试什么。

最佳答案

首先,我建议您,如果可能的话,您可以开始使用表达式语言,而不是直接使用jsp,因为这样可以使您的代码更具可读性。 看看你的问题,你想在请求我们的 session 范围中使用列表吗? 我问这个问题是因为有时您从请求范围中获取列表,但您的 IF 正在验证 session 。

您在任何时候都不会将列表添加到 session 中。 按照你的逻辑,你可以这样做:

request.getSession().setAttribute("attackList", attacks);

以下是有关 session 方法的更多信息:

https://beginnersbook.com/2013/11/jsp-implicit-object-session-with-examples/

关于java - JSP - session 属性 null 中的 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58541380/

相关文章:

java - 如何通过websphere ORB调用获取数据库连接?

html - 设置固定标题可滚动内容仅 css html 表

html - 是什么意思 ? (问号)在 URL 字符串中?

java - Spring MVC,Tile在运行war文件jetty Runner时不渲染jsp页面

java - Android 在 FragmentPagerAdapter 中更改 fragment 顺序

java - 无法解析配置 X 的所有依赖项,无法找到 B > A 所需的 Z

java - 创建和注入(inject)每个请求范围的变量

Java Selenium 陈旧元素

java - 值在 ArrayList<Integer> 中吗? ( java )

javascript - 使用 json 字符串字段的 JSON 数组异常