我知道这看起来像一个大量的文字,但我认为这是一个非常简单的概念,我失踪。
我正在写与Facelets的Web应用程序。 我有一个自定义标签RQ:这需要作为请求的参数的列表,并输出一个可爱的表格来显示他们的请求列表。 到现在为止还挺好。
RQ:请求列表开始时就像你所期望的:
<!-- ... -->
<ice:dataTable value="#{list}" var="req">
<ice:column>
<f:facet name="header">Date last edited</f:facet>
<ice:outputText value="#{req.dateModified}" />
</ice:column>
<!-- ... -->
这证明就好了。 它甚至在表中的链接编辑的要求。 yippee的!
<ice:column rendered="#{spokespersonView}">
<f:facet name="header">Edit</f:facet>
<h:commandLink value="Edit" action="edit_r" rendered="#{RequestSessionBean.mutable}">
<f:setPropertyActionListener target="#{RequestSessionBean.request}" value="#{req}"/>
</h:commandLink>
</ice:column>
这需要我们的编辑页面,设置在支持bean由表行我们在代表一个请求之后。 这是哪里的问题是在。 而且它的微妙。
RQ:请求列表中多次使用在一个页面; 因此:
<ui:repeat value="#{ExperimentListBean.usersExperiments}" var="exp">
<rq:request-list list="#{RequestListBean.requestsByExperiment[exp]}" showExperiment="false" spokespersonView="true" />
</ui:repeat>
现在表出现 OK; 也就是说,所有的文字是正确的。 然而,commandLinks指向错误的请求......他们指出, 过去的 RQ的对应行的请求:在页面上请求列表。 关于该请求的数据被输出,因为它应该在该表中,但{REQ}指向错误的请求,当涉及到点击一个commandLink。
要重申的是,如果我有几个RQ:在页面上请求列表,编辑链接, 每个 RQ的第一行:请求清单指向最后RQ的第一个请求(行):请求列表页上。 编辑链接, 每个 RQ的第二行:请求列表指向最后一个RQ的第二个请求(行):请求列表页面上。 等等。
我怎样才能得到{} REQ指向我这样了,不只是在已经过时列表的指数?
谢谢!