gpt4 book ai didi

jsf - 通过 FacesContext 部分渲染

转载 作者:行者123 更新时间:2023-12-03 21:57:15 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Can I update a JSF component from a JSF backing bean method?

(5 个回答)


5年前关闭。




实际上,当出现 keyup 事件时,我得到了一个 inputText 和一些 ajax 请求来呈现数据表。

mypage.xhmtl:

 <h:form id="form">

<h:inputText id="number_in" value="#{bean.number}" redisplay="false" >
<f:ajax event="keyup" render=":form:dataTable" />
</h:inputText>

<h:dataTable id="dataTable" ...>
...
</h:dataTable>

<h:form>

我不想再从 jsf 页面呈现 dataTable 了。我想在调用监听器方法时通过 FacesContext 在 MangedBean 中呈现数据表。

我的页面.xhtml:
<h:form id="form">

<h:inputText id="number_in" value="#{bean.number}" redisplay="false" >
<f:ajax event="keyup" listener="#{bean.onKeyup}" />
</h:inputText>

<h:dataTable id="dataTable" ...>
...
</h:dataTable>

mybean.java:
  @ManagedBean(name="bean")
@SessionScoped
public class Bean {
...
public void onKeyUp(AjaxBehaviorEvent event) {
//Here I want to render the dataTable
}
...
}

我怎样才能做到这一点?

最佳答案

您可以以编程方式将渲染 ID 添加到 PartialViewContext#getRenderIds() .

FacesContext.getCurrentInstance().getPartialViewContext().getRenderIds().add("form:dataTable");

请注意,这只能包含绝对客户端 ID,并且不应以 : 为前缀。 .

关于jsf - 通过 FacesContext 部分渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11138443/

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