信息:警告:FacesMessage已入队,但可能尚未显示

问题描述 投票:8回答:3

我创建了一个带有表单的用户界面,以从用户那里获取信息。提交表单时,它会在服务器日志中显示以下警告:

INFO: WARNING: FacesMessage(s) have been enqueued, but may not have been displayed.
sourceId=j_idt7:j_idt11[severity=(ERROR 2), summary=(j_idt7:j_idt11: Validation Error: Value is not valid), detail=(j_idt7:j_idt11: Validation Error: Value is not valid)]

我试图解决它,但我不明白怎么做。这个问题是怎么造成的,怎么解决?

jsf message
3个回答
10
投票

至于引用未显示的Validation Error: Value is not valid消息的警告,这意味着你在某个地方有<h:selectXxx>组件,如<h:selectOneMenu>而没有关联的<h:message>,因此JSF无法直接在UI中显示有关转换/验证错误的面部消息。

为了修复特定的警告,只需添加一个<h:message>

<h:selectOneMenu id="foo" ... />
<h:message for="foo" />

请注意,当您使用<f:ajax>提交表单时,您不应忘记将消息包含在ajax-update中。首先,使用render="@form"更新整个表单。

至于消息中提到的具体验证错误问题,请转到以下答案:Validation Error: Value is not valid


-1
投票

如果您使用的是primefaces,请不要忘记添加:

    <h:form>
        <p:growl id="messages" showDetail="true" />
        ....
    </h:form>

-2
投票

这是无效的价值问题。很可能你输入的是字符而不是整数值。检查这一点,我建议异常处理不要再次面对这些类型的问题。

© www.soinside.com 2019 - 2024. All rights reserved.