gpt4 book ai didi

jsf - LocalDate(仅限)与 primefaces 日历

转载 作者:行者123 更新时间:2023-12-02 01:01:47 26 4
gpt4 key购买 nike

我想在 Bean 中显示一个 primefaces calendar 元素和一个关联的 LocalDate

我用了How to use java.time.ZonedDateTime / LocalDateTime in p:calendar举个例子。这个例子工作正常,但我不需要时间部分,更重要的是我不希望显示日历的时间部分。

问题是,当我更改 pattern 并删除时间部分时:

<p:calendar id="localDate"
pattern="dd-MMM-yyyy"
value="#{bean.periodFrom}">
<f:converter converterId="localDateConverter" />
<p:ajax update="display" />
</p:calendar>

转换器不再被调用/使用。这让我有点吃惊。

删除 pattern 也不起作用。

是否有其他方法可以使用没有时间部分的示例?为什么当我“简化”模式时不再调用转换器?

JSF 2.2/Java8/Primefaces 6

最佳答案

未触发 ajax 更新,因为您没有指定应触发更新的任何事件。

如果您不指定任何事件,将使用默认事件类型“change”。

  • p:calendar 在您输入日期时触发“更改”事件inputText 和模糊
  • p:calendar 触发一个“dateSelect”事件,当你在日历弹出窗口

在您的情况下,您应该插入多个事件监听器:

<p:ajax update="display" />
<p:ajax event="dateSelect" update="display" />

因此您的代码将导致:

<p:calendar id="localDate"
pattern="dd-MMM-yyyy"
value="#{bean.periodFrom}">
<f:converter converterId="localDateConverter" />
<p:ajax update="display" />
<p:ajax event="dateSelect" update="display" />
</p:calendar>

(顺便说一下:不可能在同一个 p:ajax 组件中组合多个事件,您可以在此处阅读 https://stackoverflow.com/a/38319944/1643015)

关于jsf - LocalDate(仅限)与 primefaces 日历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50007684/

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