jsf ajax 部分渲染
Posted
技术标签:
【中文标题】jsf ajax 部分渲染【英文标题】:jsf ajax partial rendering 【发布时间】:2012-01-17 22:24:40 【问题描述】:我正在使用 JSF 2.0.4 表单下有一个组件,其中有一个 f:ajax
<h:form id="formid"....>
......
<h:outputText id="textid" ........../>
.........
<h:commandLink id=".." value="...">
<f:ajax event="click" render="formid" execute="input" listener="#bean.action"/>
<h:commandLink/>
<h:form/>
render 属性是否有任何表达式将 textid 从 formid 中排除,以便在触发 ajax 后呈现表单而不是 outputText?
【问题讨论】:
您希望“渲染”作为属性。它需要一个布尔值 true/false,你可以绑定它。 为 outputText 渲染?我不希望仅在触发 ajax 后才呈现 outputText。 您的问题有点不清楚 - 您的意思是“渲染”为“显示”或“重新渲染”为更新新内容?请提供更多详细信息。 【参考方案1】:我不知道有一种方法可以指定“表单中除此之外的所有内容”,但不要使用表单 id 作为渲染关键字,您可以只列出要渲染的表单下的子 ID,而不是包括 outputText 的 id,例如
<f:ajax event="click" render="id1 id2 id3" execute="input" listener="#bean.action"/>
我不确定你为什么想要这个 - 如果你不想在 ajax 事件触发时更新输出文本,我想你所要做的就是不在监听器中更新它?
【讨论】:
谢谢你这个作品,但它给了我一个 id 的例外,它无法找到一个 id。我会更新以获取更多信息
以上是关于jsf ajax 部分渲染的主要内容,如果未能解决你的问题,请参考以下文章
为啥 JSF 2.2 需要更多时间在 Wildfly 上部分呈现 ajax 请求
PrimeFaces 4.0/JSF 2.2.x 中的文件上传不适用于 AJAX - javax.servlet.ServletException:请求内容类型不是多部分/表单数据