【发布时间】:2012-04-28 16:43:57
【问题描述】:
我想知道是否有人可以提供帮助。
背景架构:
我有一个应用程序,其中包含许多具有许多特定问题的领域,这些问题不断发展
因此,在高级视图中可以有许多应用程序。一个用户可能与许多应用程序相关联。
所以我有一个应用程序列表,我可以很容易地遍历并获取其相关详细信息。但是,当涉及到访问每个特定区域以获取问题进度时,出于某种原因,它并不适合我。
所以这是我想要的逻辑:
用于应用程序
显示其详细信息
对于每个区域(applicaitonId)
显示每个完成进度
所以翻译成struts我有这个
<s:iterator id="app" value="appList" status="row">
<s:iterator id="qsp" value="questionProgessList[%{#row.index}]" status="status">
所以applist 是所有应用程序的列表,它有自己的getter/setter && questionSetProgress 定义为:
List<ApplicationQuestionSetProgress> getQuestionProgressList(final int index)
或 List> getQuestionProgressList()
所以尝试以多种方式访问列表已被证明是徒劳的:
<s:iterator id="qsp" value="questionProgessList">
<s:property />
</s:iterator>
用这个:
List<List<ApplicationQuestionSetProgress>> getQuestionProgressList()
但没有快乐
我也尝试过使用迭代器索引来调用该方法,但它不起作用。
List<ApplicationQuestionSetProgress> getQuestionProgressList(final int index)
即
<s:iterator id="qsp" value="questionProgessList[%{#row.index}]" status="status"> or <s:iterator id="qsp" value="questionProgessList(%{#row.index})" status="status">
任何提示或提示??
TIA
【问题讨论】:
-
您使用的哪个版本的 id 属性在 Struts 2.1.x 中已被弃用,并已被 var 属性取代。
-
提示,除非另有证明,否则假设您不需要迭代器中的 var (不推荐使用 id )或 status 属性。此外,如果集合只包含另一个集合 List
- > 则内部迭代器甚至不需要名称属性(只需一个空标记即可)。 status 和 var 有各种用途,但一般来说,如果你想在 html 中写入记录号或数组索引,那么你将需要 status(虽然 struts2 通常不需要索引)并且如果你需要编写外部迭代器的属性进入嵌套的迭代器然后 var 是个好主意。
标签: struts2 struts struts-html