显示了一个供用户输入的对话框。这个对话框有一些验证,当验证失败时,block就会消失。
这在我的笔记本电脑上运行得很好。但是,当我将war文件部署到远程服务器并测试它时,我的blockui在验证错误后没有"解除阻塞"。我得到我的咆哮信息,说明哪个字段是错误的,咆哮消失,但方块一直阻止我的对话框。不允许用户更正输入
<p:commandButton id="bttAddUser" value="Submit" update=":contentView:lstUsers :growl" oncomplete="handleSubmitRequest(xhr, status, args, 'newUserDialog','newUserForm');" actionListener="#{userController.create}">
<p:blockUI id="addBlockUI" trigger="bttAddUser" block="newUserGrid"></p:blockUI>
</p:commandButton>
两个系统,我的笔记本电脑和远程服务器都安装了glassfish 3.1.2.2。我试图找出是否有一种方法来做到这一点,并强制解锁ui。
任何想法?
编辑:所以这似乎不是网络问题,而是别的东西:我实际上得到了一个错误:
SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data
我的对话框:
<h:form id="newUserForm">
<p:panelGrid id="newUserGrid" columns="2">
<h:outputText value="Email : " ></h:outputText>
<p:inputText value="#{userController.newUser.email}" required="true" requiredMessage="Please the email of the user" validatorMessage="Email is invalid" >
<f:validateRegex pattern="[w.-]*[a-zA-Z0-9_]@[w.-]*[a-zA-Z0-9].[a-zA-Z][a-zA-Z.]*[a-zA-Z]" />
</p:inputText>
<h:outputText value="Name : " ></h:outputText>
<p:inputText value="#{userController.newUser.name}" required="true" requiredMessage="Please the name of the user" ></p:inputText>
<h:outputText value="Role"></h:outputText>
<p:selectOneMenu id="newUserRole" required="true" value="#{userController.newUser.roleid}" requiredMessage="A role must be chosen">
<f:selectItems value="#{userController.listRoles}" var="_role" itemValue="#{_role}" itemLabel="#{_role.roleid}"></f:selectItems>
<f:converter converterId="misc.util.RoleConverter"></f:converter>
</p:selectOneMenu>
<h:outputText value="TimeZone"></h:outputText>
<p:selectOneMenu id="newUserTz" required="true" value="#{userController.newUser.tzone}" requiredMessage="TimeZone must be specified">
<f:selectItems value="#{userController.listTimeZone}" var="_tz" itemValue="#{_tz}" itemLabel="#{_tz}"> </f:selectItems>
</p:selectOneMenu>
<h:outputText value="Password"></h:outputText>
<p:password value="#{userController.newUser.password}" required="true" requiredMessage="Define a password"></p:password>
<f:facet name="footer">
<p:commandButton id="bttAddUser" value="Submit" update=":contentView:lstUsers :growl" oncomplete="handleSubmitRequest(xhr, status, args, 'newUserDialog','newUserForm');" actionListener="#{userController.create}">
</p:commandButton>
<p:commandButton type="reset" value="Reset"></p:commandButton>
</f:facet>
<p:blockUI id="addBlockUI" trigger="bttAddUser" block="newUserGrid" widgetVar="blockUI"></p:blockUI>
</p:panelGrid>
</h:form>
我在Solaris上得到错误,但在Windows中没有。
终于修复了。
我的WebApp中有两个primefaces jar:
一个在domain/lib下,另一个在WEB-INF/lib下。
似乎当使用一些素面函数时,它会返回多于它应该返回的值。
在Primefaces论坛发帖