我有一个使用PrimeFaces的应用程序,它是使用WebSphere服务器在Windows上开发的。
当我尝试在IBM AIX上运行它时,所有SelectOneMenu都无法正常工作。所选值不会发送到bean并在表单提交时重置为默认值。控制台中没有JavaScript错误且没有Java错误。
我使用PrimeFaces 5.2和Websphere服务器8.5.5。我在Google Chrome和Internet Explorer 11中测试了该应用。
我有一个SelectOneMenu的例子(在Windows上工作):
<p:selectOneMenu id="selectType"
required="true"
value="#{exampleBean.newExample.exampleType}"
widgetVar="selectExampleType">
<f:selectItem itemLabel="exampleType"
itemValue="#{null}"
noSelectionOption="true" />
<f:selectItems value="#{exampleBean.exampleTypeList}"
var="exampleType"
itemLabel="#{exampleType.getCurrentDescription()}"
itemValue="#{exampleType}" />
</p:selectOneMenu>
答案 0 :(得分:0)
我终于找到了问题。当我在某个对象上覆盖getAsString方法并使用这行代码在字符串之间添加空格时:
System.getProperty("line.separator")
似乎AIX没有将这一行解释为空格(我不知道为什么)所以我不得不用引号之间的简单空格替换它:
" "
如果有人可以解释为什么会这样,那可能会很好。幸运的是,我发现这是诚实的。