我想在中选择日期后调用Bean p:calendar
。在我的设置中,我有一个@Named @ViewScoped
Bean,该类ObWithDate
是一个@Entity
带有日期字段 validFrom的 。
<h:form id="fUser">
<p:dataTable id="dt" var="cum" value="#{myBean.listObWithDates}">
<p:column>
<p:calendar id="cValidFrom" value="#{cum.validFrom}">
<p:ajax event="dateSelect" listener="#{myBean.update(cum)}"
update=":fUser:dt"/>
</p:calendar>
</p:column>
</p:dataTable>
</h:form>
好处是,update(ObWithDate myO)
每次选择日期时,都会使用正确的对象调用bean方法。不好的是,它myO.validFrom
没有正确的值。它总是 落后一步 :
这个问题使我发疯,我发现了几个值更新不正确的问题,还有一些关于的问题p:calendar
。他们中的大多数建议将属性selectListener="#{calendarBean.handleDateSelect}"
与handleDateSelect(DateSelectEvent event)
方法一起使用 。但是我想调用我的方法,因为我想传递变量的当前实例。
p:dataTable
并且仅使用p:calendar
该问题仍然相同。update(ObWithDate myO)``myBean.listObWithDates
<p:ajax immediate="true" .../>
无法解决此问题。这很可能是生命周期问题。 在 您的侦听器执行 之前, 将调用该字段的setter 。您不应该使用侦听器来设置您的值。
侦听器上的el表达式是 在前一个 请求的渲染响应阶段进行求cum
值的,因此其值保持“落后一步”。
您应该从日历日期值的设置器中更新自定义对象。
问题内容: 我需要在循环中对数据库进行SQL查询: 更好的方法是:保持原样或循环后移动: 或者是其他东西 ? 问题答案: 整个要点是直到函数返回才执行,因此将其放置在要关闭的资源打开后的适当位置。但是,由于要在循环内创建资源,因此根本不要使用defer- 否则,在函数退出之前,您不会关闭在循环内创建的任何资源,因此它们会堆积直到然后。相反,您应该在每次循环迭代结束时关闭它们, 而无需 :
问题内容: 假设我有一个任务要从java.util.concurrent.BlockingQueue中提取元素并进行处理。 如果可以动态更改频率,我该如何安排/重新安排任务? 想法是获取数据更新流并将其批量传播到GUI 用户应该能够更改更新频率 问题答案: 我认为您无法更改固定速率的延迟。我认为您需要使用schedule()执行一次操作,并在完成后再次计划(如果需要,可以更改超时)。
我在更新BigQuery模式时遇到了一些延迟问题。 我有一个表,它接收流式插入,并且架构在需要时会自动更新。问题在于,架构更新似乎在一段时间内不会生效,并且在该持续时间内进行的插入会删除新列的值。 我从2016年发现了这个答案,它说在更改生效之前可能会有长达5分钟的延迟。 这种情况仍然存在吗?您如何解决这一问题?如果答案是超时,那么在写入新列之前应该等待多长时间?
对我如何做到这一点有什么建议吗? 这是我到目前为止编写的代码,但它似乎忽略了Thread.Sleep并且只使第三个代码变为蓝色。
我有一个主题,它发出不同的和值 我想延迟值。如果发出了-值,而延迟是“延迟”,那么什么都不应该发生(应该是“无值更改”)。 考虑这张桌子 我希望情况很清楚。
描述 我有一个小应用程序,它使用hook更新状态,但每次更新时,都会导致页面延迟。我指的是实际的延迟,而不仅仅是“等待异步”延迟。 我的理论是,更新状态会重新呈现太多的组件,因为如果我将状态减少到更少的值,滞后就会消失。 从本质上说,我担心我更新状态的方式没有隔离我想要的值。 密码 我将回购加载到CodeSandbox:https://codesandbox.io/s/long-forest-y9