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

Do *_*ung 8 jsf message

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

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)]
Run Code Online (Sandbox Code Playgroud)

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

Bal*_*usC 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" />
Run Code Online (Sandbox Code Playgroud)

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

至于消息中提到的具体验证错误问题,请转到以下答案:验证错误:值无效.