我的视图中有Set responseDocumentsVar,它包含三个值。例如,PASPGP_CND,COVER_LTR,PERMIT_LTR。我在xhtml中使用了此变量,并使用primesfaces组件p:repeat进行了迭代,如下所示。但是,意外的行为是当我尝试访问“ PASPGP_CND”字母时,下载了COVER_LTR,而当我尝试访问PERMIT_LTR时,则下载了PASPGP_CND。不知道为什么,我访问的内容没有下载。谁能解释这种行为?
<p:repeat value="#{sessionView.appCycleEntity.reviewResponseEntity.reviewResponseDocuments.toArray()}"
var="revResDocument"
width="100%" styleClass="hideDataTableColumnsHistory">
<div class="cardWrapper ui-g-12 ui-md-6 ui-lg-6">
<div class="cardDisplay fileCard">
<div class="cardTypeId">
<div class="icon"></div>
</div>
<div class="cardInfo">
<!-- card meta data -->
<dl class="cardMetaData clearfix">
<dt>
<p:commandLink id="filename${fileTypeCounter}_${fileCounter}"
value="#{sessionView.getLetterNameForSummaryScreen(revResDocument.letterTypeCode).length() gt 30 ? sessionView.getLetterNameForSummaryScreen(revResDocument.letterTypeCode).substring(0,30).concat('...') : sessionView.getLetterNameForSummaryScreen(revResDocument.letterTypeCode)}"
actionListener="#{recordDecisionController.retrieveLetter(revResDocument)}"
ajax="false" process="@this" onstart="PF('statusDialog').show()"
oncomplete="PF('statusDialog').hide();" immediate="true"/>
</dt>
</dl>
</div>
</div>
</div>
</p:repeat>
在上图中,当我尝试访问1时,下载了3,当我尝试访问3,则下载了2,即未下载所需的文件。我在Java端进行了调试,传递给后端的附件ID也不正确。
很抱歉,如果我不清楚该问题的解释。