当值可能为空时,JSP在列表的映射上迭代

当值可能为空时,JSP在列表的映射上迭代,jsp,struts2,guava,Jsp,Struts2,Guava,如何清除s:iterator堆栈中的值? 我正在尝试对一个具有如下结构的TreeMultimap进行迭代: TreeMultimap<person, lineItems> persons; persons = {{"Person1",["Line1","line2"]}, {"Person2",["Line3","line4"]}, {"Person3",null}} 呈现为: <div> Person1<br

如何清除s:iterator堆栈中的值?

我正在尝试对一个具有如下结构的TreeMultimap进行迭代:

TreeMultimap<person, lineItems> persons;
persons = {{"Person1",["Line1","line2"]},
           {"Person2",["Line3","line4"]},
           {"Person3",null}}
呈现为:

<div>
   Person1<br />
   Line1<br />
   Line2<br />
</div>
<div>
   Person2<br />
   Line3<br />
   Line4<br />
</div>
<div>
   Person3<br />
   Line3<br />
   Line4<br />
</div>

人1
第1行
第2行
人2
第3行
第4行
人3
第3行
第4行
这似乎表明没有在每个迭代器上清除该值。我需要做什么来处理值可能为null的情况


感谢您的帮助

我建议您在将地图交付到Struts/JSP之前对其进行预过滤。关注点的分离意味着您的表示层不应该做出这种决定

我相信多重映射不能(当然也不应该)有空值;因此,您的结构可能是:

persons = {{"Person1",["Line1","line2"]},
           {"Person2",["Line3","line4"]},
           {"Person3",[]}}

我想知道您使用的是哪个struts2版本id已被弃用我从代码中复制了这个错误,我们使用的是var,并且在struts2.2.3上。我想当没有行项时,您将得到一个空树集,而不是空值,但我确实希望显示所有的键记录,不仅仅是在单个HTML列表中包含行项目的关键记录。预滤器如何使这更容易;我建议不要将没有值的键表示为null,而只使用一个空集合,这样可以解决问题。
persons = {{"Person1",["Line1","line2"]},
           {"Person2",["Line3","line4"]},
           {"Person3",[]}}