3

ユーザー入力用に表示されるダイアログがあります。このダイアログにはいくつかの検証があり、検証が失敗するとブロック UI は消えます。

これは、すべてを搭載した私のラップトップでうまく機能します。しかし、war ファイルをリモート サーバーにデプロイしてテストすると、検証エラーの後、blockui が「ブロック解除」されません。どのフィールドが間違っているかを示すうなりメッセージが表示され、うなり声は消えますが、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 では発生しません。どちらも Glassfish 3.1.2.2 ビルド 5 を持っています。

4

1 に答える 1

1

最後にこれを修正しました。

WebApp に 2 つの primefaces jar がありました。

1 つは domain/lib にあり、もう 1 つは WEB-INF/lib にあります。

primefaces のいくつかの関数を使用すると、必要以上に返されるようです。

Primefaces フォーラムに投稿する

于 2013-04-23T07:25:05.043 に答える