有什么办法可以在f:ajax标签中包含页面标题,以便其内容在运行时也可以更新?目前,我的f:ajax标签看起来像这样-
<f:ajax render="@form">
Run Code Online (Sandbox Code Playgroud)
我试图将一个ID添加到h:head标记,并将该ID添加到f:ajax标记的'render'属性,但是如果这样做,则在页面加载时出现错误-
<f:ajax> contains an unknown id 'pageHead' - cannot locate it in the context of the component B1
Run Code Online (Sandbox Code Playgroud)
欢呼声,eRez
有趣的问题。我认为在ajax渲染(例如@form)中没有这样的命令可以重新渲染页面标题。你可以做的是包装<title>用<h:form>或其他“分组”组件(例如,h:panelGroup像这样的丹尼尔说):
<h:form id="titleForm">
<title>#{fooBean.fooTitle}</title>
</h:form>
Run Code Online (Sandbox Code Playgroud)
然后调用ajax更新例如。带按钮:
<h:commandButton immediate="true" value="Change title">
<f:ajax event="click" render=":titleForm" listener="#{fooBean.changeTitle}"/>
</h:commandButton>
Run Code Online (Sandbox Code Playgroud)
豆:
private String fooTitle;
public void changeTitle() {
this.fooTitle= "updatedTitle";
}
// getter/setter
Run Code Online (Sandbox Code Playgroud)
我不知道您还能做什么,这应该可以。因此,包装你title有<h:form id="...">,然后从阿贾克斯渲染。
| 归档时间: |
|
| 查看次数: |
1504 次 |
| 最近记录: |