Struts OGNL 长溢出

问题描述

我正在添加两个 Long 到 Value Stack 的列表

    List<Long> listOne = new ArrayList<Long>();
    List<Long> listTwo = new ArrayList<Long>();

    listOne.add(4031841000000418017L);
    listOne.add(4031841000000337478L);
    listOne.add(4031841000000342064L);
    listOne.add(4031841000000337292L);

    listTwo.add(4031841000000337292L);
    
    addTovalueStack("LIST1",listOne);
    addTovalueStack("LIST2",listTwo);

我正在尝试使用 Struts2 OGNL 检查 JSP 的 listTwo 中是否存在 listOne 中的元素。

    <s:set var="listt2" value="%{LIST2}" />

    <s:iterator var="list1" value="%{LIST1}">
    <s:property value="list1"/>
    <s:property value="#list1 in #listt2"/>
    </s:iterator>

上述JSP的输出

    4031841000000418017
    false
    
    4031841000000337478
    true
    
    4031841000000342064
    false
    
    4031841000000337292
    true

如您所见,listOne 中的第二个元素不在 listTwo 中。 但它返回true。这里正在发生某种溢出。谁能解释一下?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)