INFO: WARNING: FacesMessage(s) have been enqueued, but may not have been displayed

为君一笑 提交于 2020-01-11 02:04:28

问题


I created an user interface with a form to get information from user. When I submit the form, it prints the following warning in the server log:

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)]

I tried to solve it, however I didn't understand how. How is this problem caused and how can I solve it?


回答1:


As to the warning referring an undisplayed Validation Error: Value is not valid message, this means that you've somewhere a <h:selectXxx> component such as <h:selectOneMenu> without an associated <h:message> and therefore JSF is not able to display faces messages about conversion/validation errors directly in the UI.

In order to fix the particular warning, just add a <h:message>:

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

Note that when you're ajax-submitting the form using <f:ajax>, then you should not forgot to include the messages in the ajax-update. To start with, use render="@form" to update the entire form.

As to the concrete validation error problem which is mentioned in the message, head to the following answer: Validation Error: Value is not valid.




回答2:


If you are using primefaces, dont forget to add:

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



回答3:


It is invalid value problem. Most probably you entered character instead of integer value. Check this and I suggest exception handling to not face these type of problems again.



来源:https://stackoverflow.com/questions/18857225/info-warning-facesmessages-have-been-enqueued-but-may-not-have-been-display

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!