gpt4 book ai didi

jsf - 使用ajax渲染一个div

转载 作者:行者123 更新时间:2023-12-02 04:51:25 25 4
gpt4 key购买 nike

我有这个div

<div id="name">
....
</div>

我还有一个按钮可以执行此操作:

<h:commandLink id="bttn" action="#">
<f:ajax render="name"/>
</h:commandLink>

问题是执行的时候提示没有叫“name”的组件。有没有一种方法可以使用 ajax 呈现 div 而无需将其包含在 jsf 组件中

最佳答案

不,没有办法。 Ajax 渲染在 JSF 的引擎盖下大致如下工作:

for (String clientIdToRender : clientIdsToRender) {
UIComponent componentToRender = viewRoot.findComponent(clientIdToRender);
// ...
}

但是,作为纯 HTML <div> 不是 UIViewRoot#findComponent() 提供的完全有值(value)的 JSF 组件,JSF 找不到任何内容来生成更新的 HTML 输出。

您不一定需要将它包装在另一个 JSF 组件中,您也可以只使用一个已经生成 HTML 的 JSF 组件 <div>元素。那就是<h:panelGroup> layout 的组件属性设置为 block (如“呈现 block level 元素”)。

<h:panelGroup layout="block" id="name">
...
</h:panelGroup>

另见:

关于jsf - 使用ajax渲染一个div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18769118/

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