-2

アカウントのパスワードが間違っている場合、またはこのアカウントを持っていない場合、ログインページの下にメッセージが表示されます。

index.html

 <h:body>
    <p:panel header="Login" id="logic" style="width: 410px">
        <h:form id="form01">
            <p:panelGrid id ="pan01" columns="2">
                <f:facet name="header">
                </f:facet>
                <h:outputLabel   value="name : " />
                <p:inputText id="firstname" value="#{logic.name}" label="Firstname" required="true" requiredMessage="Must input your name" />
                <h:outputLabel  value="pass : " />
                <p:password id="surname"  value="#{logic.pass}" required="true"  label="Surname" requiredMessage="Must input your pass"/>
                <h:outputText  value="Login"/>
                <h:commandButton  value="Login" action="#{logic.register()}" style="height: 30px ; width: 210px">
                    <f:ajax execute="@form" render="123"/>
                </h:commandButton>

            </p:panelGrid>
            <p/>
            <p:message for="firstname" id="NameMessage" display="text"/>
            <p/>
            <p:message for="surname" id="PassMessage" display="text"/>
        </h:form>
    </p:panel>
</h:body>

Java コード

public String register() {
        Query q = e.createNamedQuery("BnUser.findByUserUsername");
        q.setParameter("userUsername", getName());
        List resultList = q.getResultList();
        BnUser result = (BnUser) resultList.get(0);
        permission = result.getBnMembershipList().iterator().next().getDbid();
        System.out.println("login=======" + permission);
        dbname = result.getUserUsername();
        dbpass = result.getUserPassword();

        if (dbpass.equals(getPass()) && (getPermission() == 6)) {
           return "/Administrator//index";
        } else if (dbpass.equals(getPass()) && (getPermission() == 5)) {
           return "/index";
        } else {
           return null;
        }
}
4

1 に答える 1

0

コードの結果は何ですか。エラーや例外はありますか。

ここにサンプルがあります: http://www.primefaces.org/showcase/ui/dialogLogin.jsf

試してみて、結果を教えてください。

于 2012-08-28T18:02:34.970 に答える