【问题标题】:Primefaces Calendar only works with popup buttonPrimefaces 日历仅适用于弹出按钮
【发布时间】:2012-11-07 18:24:58
【问题描述】:

我遇到的问题是主要面孔日历输入字段。 在你那一刻,我使用弹出按钮可以正常工作。因此,您单击按钮会出现日历,以便您选择日期。然而,我正在处理的页面所需的影响是当输入字段具有焦点时会出现日历。

Primesfaces Calendar Showcase 上,我正在寻找的功能显示在标有“弹出”的示例中。

根据网站上的示例,我可能天真地认为,从按钮更改为焦点激活日历所需要做的就是删除 showOn="button" 属性。

之前:

                    <p:calendar id="fldDateOfBirth"
                    value="#{pc_CreatePatient.patient.dateOfBirth}"
                    binding="#{pc_CreatePatient.dobComp}" navigator="true"
                    display="inline" pattern="dd/mm/yyyy" yearRange="-100"
                    title="#{msg.user_date_format_default_tip}" showOn="button" />

之后:

                    <p:calendar id="fldDateOfBirth"
                    value="#{pc_CreatePatient.patient.dateOfBirth}"
                    binding="#{pc_CreatePatient.dobComp}" navigator="true"
                    display="inline" pattern="dd/mm/yyyy" yearRange="-100"
                    title="#{msg.user_date_format_default_tip}"/>



进行更改后,portlet 根本不会呈现,并且日志包含以下错误信息:

[11/19/12 18:47:30:942 GMT] 00000043 RpmMaintainUs E RpmExceptionHandler handle Throwable=>class java.lang.IllegalArgumentException<==>component identifier must not be a zero-length Stringnent identifier must not be a zero-length Stringcomponent identifier must not be a zero-length String

提前感谢您对此提供的任何帮助。

【问题讨论】:

  • 你运行的是什么版本?另外,您是否尝试过使用 bean 上的简单属性?它可能是一个伪装的 NPE。

标签: java jsp jsf primefaces


【解决方案1】:

你应该使用它,它会工作得很好:

 <p:calendar id="fldDateOfBirth"
 value="#{pc_CreatePatient.patient.dateOfBirth}"
 title="#{msg.user_date_format_default_tip}"/>

所选日期将显示在您的弹出行中。 如果您想在其他地方使用所选日期:

<h:outputText value="Popup Date:" />  
            <h:outputText value="#{pc_CreatePatient.patient.dateOfBirth}" id="popupDate">  
                <f:convertDateTime pattern="d/M/yyyy"/>  
            </h:outputText> 

【讨论】:

    【解决方案2】:

    我发现我的问题的解决方案是标记一个没有按钮的日历输入字段,您需要删除一些属性。我最初认为您只需要删除 'showOn="button"' 但我还必须删除 'display="inline"' 才能使其工作。最终标记如下:

                        <p:calendar id="fldDateOfBirth"
                        value="#{pc_CreatePatient.patient.dateOfBirth}"
                        binding="#{pc_CreatePatient.dobComp}" navigator="true"
                        pattern="dd/mm/yyyy" yearRange="-100"
                        title="#{msg.user_date_format_default_tip}"/>
    

    我意识到这可能是一个新手问题,但我不得不说我没有发现 primefaces 网站对实际实施它的一些玩具很有帮助。如果有人对 primefaces 库有任何好的网站或教程,请添加到 cmets。

    【讨论】:

      猜你喜欢
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多