-2

如果我的帐户密码错误,或者没有此帐户,如何使用 Ajax 验证我的帐户密码,登录页面下方会显示一条消息。

索引.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 回答