表单的某些字段上的验证错误,清除JSF表单的所有字段

时间:2017-03-15 17:22:11

标签: validation jsf websphere mojarra

在JSF页面上,有大约5个输入字段(一些文本框,下拉列表,文本区域,广播等)和一个提交按钮。 单击该按钮,它将根据输入的值验证所有输入字段。

我们正面临网页问题。 当任何输入字段有验证错误(例如,您输入电话号码文本框的字母)时,除了错误的字段(电话文本框)被清除之外,还有一些其他字段(例如,名字字段)填充了正确的值,没有任何验证错误也被清除。 该应用程序部署在WebSphere集群环境中,具有2个相同的服务器。 问题的一个奇怪的部分是它不会一直发生。看起来,当从其中一个服务器提供应用程序时,问题就会发生,但是当它来自其他服务器时,却不会。 此外,注意到此问题不会在本地发生,即从IBM RSA IDE在本地独立WebSphere服务器上运行应用程序时。

Please see the screenshot of the problem

JSF 2.2 Mojarra WebSphere ND版本8.5.5.9 用于WebSphere软件的IBMRational®SoftwareArchitect:版本:8.5

任何人都可以帮我弄清楚如何解决这个问题。谢谢

1 个答案:

答案 0 :(得分:0)

此问题可能与您的群集环境和序列化有关。作为第一步,检查使用JSF使用客户端状态保存是否可以解决问题:

<context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
</context-param>

还有与JSF和集群here相关的其他特定于WebSphere的信息。您需要确保将javax.faces.SERIALIZE_SERVER_STATE设置为true,并且您没有any serialization issues