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

标签 java ajax jsf-2 primefaces

我有一个包含列表项的菜单,里面有一个 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/

相关文章:

java - 如何向 WebView 添加 Drawable

java - 我应该如何使用 servlet 和 Ajax?

javascript - Xhttp 未在 Firefox 附加组件中触发请求

regex - 将 inputText 值限制为仅字母字符

jsf - 如何在 JSF 2.2 中呈现 HTML 按钮元素?

java - GWT Google Visualization - 随后的重绘会改变 Y 轴步数吗?

java - 如何将 play.api.libs.json.JsValue 转换为 org.json.JSONObject

PHP Laravel : Ajax couldn't retrieve data (No properties)

javascript - 解析错误/page.xhtml : Error Traced[line: 42] Open quote is expected for attribute "{1}" associated with an element type "id"

java - JOptionPane 焦点隐藏