Struts2 Struts 2列表访问列表

Struts2 Struts 2列表访问列表,struts2,struts,struts-html,Struts2,Struts,Struts Html,我想知道是否有人能帮忙 背景架构: 我有一个应用程序,它包含了许多领域,其中有许多具体的问题,这些问题包含了进展 因此,从高层次来看,可以有许多应用程序。一个用户可能与许多应用程序关联 因此,我有一个应用程序列表,我可以很容易地通过迭代获得相关的详细信息。但由于某种原因,当涉及到访问每个特定领域以获得问题进展时,我并不认为这是可行的 这就是我想要的逻辑: 申请 显示其详细信息 对于每个区域应用程序ID 显示每个项目的完成进度 所以要转换成struts,我有这个 <s:iterator id

我想知道是否有人能帮忙

背景架构:

我有一个应用程序,它包含了许多领域,其中有许多具体的问题,这些问题包含了进展

因此,从高层次来看,可以有许多应用程序。一个用户可能与许多应用程序关联

因此,我有一个应用程序列表,我可以很容易地通过迭代获得相关的详细信息。但由于某种原因,当涉及到访问每个特定领域以获得问题进展时,我并不认为这是可行的

这就是我想要的逻辑:

申请

显示其详细信息

对于每个区域应用程序ID

显示每个项目的完成进度

所以要转换成struts,我有这个

<s:iterator id="app" value="appList" status="row">
<s:iterator id="qsp" value="questionProgessList[%{#row.index}]" status="status">
或 List>getQuestionProgressList

因此,尝试以多种方式访问列表证明是徒劳的,我尝试过:

<s:iterator id="qsp" value="questionProgessList">
    <s:property />
</s:iterator>
为此:

List<List<ApplicationQuestionSetProgress>> getQuestionProgressList()
但是没有快乐

我也尝试过使用迭代器索引来调用该方法,但没有成功

List<ApplicationQuestionSetProgress> getQuestionProgressList(final int index)
i、 e

有什么提示吗


TIA

考虑到你有

List<ApplicationQuestionSetProgress> getQuestionProgressList(final int index)
用这个

<s:iterator var="qsp" value="questionProgessList[#row.index]" status="status"> 

您提到了以下方法:

List<List<ApplicationQuestionSetProgress>> getQuestionProgressList()
提取所有属性的JSP格式为:

<s:iterator value="applications">
   <s:property value=applicationsProperty1"/>
   <s:property value="applicationsProperty2"/>
   ...
   <s:iterator value="areas">
      <s:property value="areasProperty1"/>
      <s:property value="areasProperty2"/>
      ...
      <s:iterator value="progress">
         <s:property value="progressProperty1"/>
         <s:property value="progressProperty2"/>
         ...
      </s:iterator>
   </s:iterator>
</s:iterator>

您使用id属性的版本在Struts 2.1.x中已被弃用,并已被var属性所取代。提示:假设您不需要上述var id,除非另有证明,否则迭代器中已弃用var id或status属性。此外,如果集合仅包含另一个集合列表,则内部迭代器甚至不需要名称属性,只需要一个空标记即可。Status和var有各种用途,但一般来说,如果你想在html中写入记录编号或数组索引,那么你需要Status,尽管struts2通常不需要索引,如果你需要在嵌套迭代器中写入外部迭代器的属性,那么var是个好主意。感谢所有的帮助,我有一些事情要做测试我目前正在使用struts 2.0.6,不要问为什么只是项目的一个需求。尽管如此,我还是有getApplications,然后我单独调用db生成applicationQuestionSetProgress列表,因为每个应用程序有6个不同的区域,每个区域大约有20个问题,我需要跟踪进度。因此,正如我所说,一个人可能有很多申请,但申请并不附带进度。因此,列表中的外部列表表示应用程序的潜在数量,因此索引0将映射到应用程序1,索引1将映射到应用程序2,以此类推,其中内部列表包含所有区域进度的集合。但听起来每个区域都有一个进度,如果这样,嵌套将深入到另一个层次。。。答案相应调整。为了进一步帮助,最好添加代码。如果您可以为应用程序、区域和进度创建最小的表示,这将非常有助于getter和setter显示它们之间的关系,以及您试图显示的操作和语句,我们可以给出具体的建议。
List Applications getApplications(){
  return this.applications;
}
<s:iterator value="applications">
   <s:property value=applicationsProperty1"/>
   <s:property value="applicationsProperty2"/>
   ...
   <s:iterator value="areas">
      <s:property value="areasProperty1"/>
      <s:property value="areasProperty2"/>
      ...
      <s:iterator value="progress">
         <s:property value="progressProperty1"/>
         <s:property value="progressProperty2"/>
         ...
      </s:iterator>
   </s:iterator>
</s:iterator>