Jsf <;p:commandLink>;内部嵌套<;用户界面:重复>;及<;p:dataList>;
我将以下Jsf <;p:commandLink>;内部嵌套<;用户界面:重复>;及<;p:dataList>;,jsf,primefaces,commandlink,Jsf,Primefaces,Commandlink,我将以下放置在中,该放置在一个中,然后是另一个中: 但是,尽管正确显示了的值,并且警报获得了正确的值“onclick”,但是传递给myManager.seeDetails(entity)的对象不正确。如果我按“entity1.1”或“entity2.1”或“entity3.1”,我总是会得到“entity4.1”等等 你知道我做错了什么吗?我使用的是primefaces 3.4和primefaces mobile 1.0 snapshot。Nested在旧版Mojarra中存在笨拙的状态保存错误
放置在
中,该
放置在一个
中,然后是另一个
中:
但是,尽管正确显示了
的值,并且警报获得了正确的值“onclick”,但是传递给myManager.seeDetails(entity)
的对象不正确。如果我按“entity1.1”或“entity2.1”或“entity3.1”,我总是会得到“entity4.1”等等
你知道我做错了什么吗?我使用的是primefaces 3.4和primefaces mobile 1.0 snapshot。Nested
在旧版Mojarra中存在笨拙的状态保存错误,这些错误暴露的症状与您现在面临的完全相同。我猜你用的是莫哈拉。哪个版本?PrimeFaces 3.4也很旧,所以很可能您的Mojarra版本也很旧。如果由于某种原因无法升级到当前版本(2.1.29或2.2.10),请尝试将两个
替换为
,这样可以正确保存状态。让我知道,如果这解决了问题(你永远不知道旧库的问题),那么我会重新发布它作为答案。但在较新的PrimeFaces版本中,有一个不同的状态保存问题,因为他们创建了自己的buggyUIData
该项目是在几年前实施的,当时PrimeFaces 3.4还是一个全新的版本。现在我正在对这个项目进行一些返工,我做的第一步就是更新我的库,但是对于这样一个老项目,它并没有像预期的那样工作@BalusC将两个s替换为并没有解决问题。我决定把更多的精力放在更新工作上。谢谢!
<h:form>
<ui:repeat value="#{myManager.selectedNode.data.children}" var="childdatapanel">
<p:panel header="#{childdatapanel.key}" collapsed="true">
<ui:repeat value="#{childdatapanel.value}" var="childdata">
<h:panelGrid columns="1">
<p:dataList value="#{childdata.value}" var="entity" itemType="disc" type="inset">
<p:column>
<p:commandLink value="#{entity.label}" action="#{myManager.seeDetails(entity)}" styleClass="entity-label"
onclick='alert("#{entity.label}");'>
</p:commandLink>
</p:column>
</p:dataList>
</h:panelGrid>
</ui:repeat>
</p:panel>
</ui:repeat>
</h:form>
childdatapanel.key1
entity1.1
entity1.2
entity1.3
childdatapanel.key2
entity2.1
entity2.2
entity2.3
childdatapanel.key3
entity3.1
entity3.2
entity3.3
childdatapanel.key4
entity4.1
entity4.2
entity4.3