gpt4 book ai didi

java - JSF p :commandLink and p:ajax have different behavior in update

转载 作者:行者123 更新时间:2023-11-30 09:30:46 24 4
gpt4 key购买 nike

我有一个包含列表项的菜单,里面有一个 p:commandLink。在将它用于不同的页面时,我意识到我在使用 p:dataTablep:columns 更新表单时遇到问题。单击链接后,form2 实际上有一些面板和里面的表格应该被更新。现在我的问题是:form2 中只有 大部分 内容被正确更新,但是 p:columns 值(value)。如果我再次单击该链接,则会显示正确的值。

bean 方法 public void selectProject(Project myProject) 被正确调用并且值被正确处理。

现在奇怪的是:如果我添加一个带有 p:ajaxh:graphicImage 一切正常!!

<h:form id="form1">
...
<li>
<p:commandLink update=":form2" actionListener="#{bean.selectProject(p)}">
<h:outputText value="#{p.name}" />
</p:commandLink>
<!-- Code below is for testing only, but works fine! -->
<h:graphicImage value="#{iconBean.icon(12,'clock')}">
<p:ajax event="click" update=":form2" listener="#{bean.selectProject(p)}"/>
</h:graphicImage>
</li>
...
</h:form>

更新 这似乎与p:columns 无关,一个简化的测试用例显示了p:commandLink 的预期行为。在原始(仍然失败)设置中,菜单是作为复合组件实现的。

最佳答案

作为我使用的解决方法

<h:commandLink>
<h:outputText value="#{p.name}"/>
<p:ajax event="click" update=":form2" listener="#{bean.selectProject(p)}"/>
</h:commandLink>

关于java - JSF p :commandLink and p:ajax have different behavior in update,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13124083/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com