【问题标题】:Iterate over RowSetDynaClass in Struts2在 Struts2 中迭代 RowSetDynaClass
【发布时间】:2012-03-13 12:35:30
【问题描述】:

我如何使用 Struts 2 标签迭代 RowSetDynaClass 的对象? 在 Struts 1 中也可以通过使用'logic:iterate' 来实现相同的功能,但是如何在 Struts 2 中做到这一点呢?

我在动作类中有以下代码:

RowSetDynaClass list = get the list
request.setAttribute("theList", list.getRows());

在我从此操作转发到的 jsp 上,我使用以下代码:

<s:iterator value="theList">
    <s:property value="xyz"/>
</s:iterator>

但这不起作用。我正在使用 Struts 2 框架。 那么我如何遍历这个列表..

谢谢。 :)

【问题讨论】:

  • 我不确定RowSetDynaClass,但已经有一个迭代器标签,它以集合为源进行迭代
  • @UmeshAwasthi:是的,有一个 标签..但它不适用于 RowSetDynaClass。

标签: jsp struts2 iteration


【解决方案1】:

遍历RowSetDynaClassrows (JSP EL)、getRows() (Java):

在尝试了解如何使用类时,API 文档通常很有帮助。

【讨论】:

  • 我已编辑问题以包含我的问题的详细信息。请让我知道是否有解决方法。谢谢..
  • 你是如何暴露列表的?是否有一个名为“getTheList”的公共 getter?
  • 没有可用的 getter,因为此列表不是任何自定义对象的列表。该列表包含 DynaClass 对象。我不确定,但迭代器应该能够像在 struts 1 中那样使用 logic:iterate 标记自行迭代它,我们通过 type 属性指定列表的类型。另一方面,像&lt;logic:iterate id="currentObject" name="theList" type="org.apache.commons.beanutils.DynaBean"&gt; Struts2 标签在我们指定对象类型的地方没有类型属性。我不确定它是如何实现迭代的......
  • @pratik 考虑阅读 S2 迭代器标签文档。 RSDC 或其列表需要有一个可公开访问的 getter 才能使迭代器标签工作。只要您以与 OGNL 兼容的方式访问列表成员,列表中的对象类型就无关紧要。
猜你喜欢
  • 2013-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-04
相关资源
最近更新 更多