gpt4 book ai didi

java - 动态添加一个或多个outputText到现有页面

转载 作者:太空宇宙 更新时间:2023-11-04 12:33:37 24 4
gpt4 key购买 nike

我需要使用托管bean 生成的新数据不断更新页面。 Managedbean 每隔几分钟创建一个新的值列表,并且 UI 必须为 Managedbean 新创建的列表中的每个值创建一个 OutputText。问题是,UI 应保留输出文本并为每个请求添加新的输出文本,而不应刷新/删除旧的输出文本。

我的代码如下 - 为每个ajax调用更新相同的outputText字段,我需要像上面提到的那样更改它。

<c:forEach var="data" items="#{myBean.dataList}">
<p:fieldset legend="#{data}" toggleable="true" toggleSpeed="500">
<h:panelGrid columns="2" cellpadding="5" border="0">
<p:scrollPanel style="height:300px">
<p:poll interval="2" listener="#{myBean.getDataList}" update="field1 field2"/>
<h:outputText value="#{data.field1}" id="field1"/>
<h:outputText value="#{data.field2}" id="field2"/>
</p:scrollPanel>
</h:panelGrid>
</p:fieldset>
</c:forEach>

因此,对于每个 ajax 调用,托管bean 可能会生成很少的数据项,并且对于每个项目都应该有一个新的 outputText 字段。

最佳答案

您可以使用 <h:outputText value="#{data.field1}" id="field1"/> 的数据列表

创建一个列表并将它们用作输出文本,是的,您需要一些 css 格式,因为 datalist 使用默认的 css。示例代码

<p:poll interval="3" listener="#{yourbean.yourmethod}" update="<updatecomponet>" />
<p:dataList value="#{yourbean.tempList}" var="s" id="updatecomponet">
<p:outputLabel value="#{s}"></p:outputLabel>
</p:dataList>

注意:当 poll 调用监听器时,您需要在列表中添加值。它正在我的项目中运行,如果有其他问题请告诉我。希望这会有所帮助。

关于java - 动态添加一个或多个outputText到现有页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37576820/

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