日期:2014-05-16 浏览次数:20547 次
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core">
    <h:head>
        <title>Login Face</title>
        <script src="js/login.js" type="text/javascript"></script>
    </h:head>
    <h:body>
        <h:form id="loginForm" onsubmit="return checkForm()">
               <h:outputScript library="javax.faces" name="jsf.js" target="head"/>
               <h:outputLabel value="welcom to Login our site" ></h:outputLabel>
               <br/><h:outputLabel value="#{user.message}"></h:outputLabel>
               <br/><h:outputLabel value="userName:"></h:outputLabel>
               <h:inputText id="userName" value="#{user.userName}" ></h:inputText>
               <br/><h:outputLabel value="password:" ></h:outputLabel>
               <h:inputSecret  id="password" value="#{user.password}"></h:inputSecret>
               <br/><h:commandButton value="submit" action="#{manager.login}" />
               <a href="register.jsf">register</a>
               <a href="forget.jsf">forget</a>
        </h:form>
    </h:body>
</html>
 public String  login(){
        String result = null;
        DBibatis db = new DBIbatisImpl();//这是一个数据库操作的接口
        ExternalContext context = FacesContext.getCurrentInstance().getExternalContext();
        //获得的是request里的数据
        UserBean loginUser =(UserBean)context.getRequestMap().get("user");
        //从数据库中获得这个用户名的结果
        UserBean dbUser = db.queryByName(loginUser.getUserName());
        if(dbUser == null){
        //没有这个用户名就在request中增加message的内容
         loginUser.setMessage("no this userName here!");
            result = "login.jsf";//规定导航的jsf
        }else {
            if(dbUser.getPassword().equals(loginUser.getPassword())){
                result = "successfully.jsf";//显示的是成功之后的页面
                this.userName = loginUser.getUserName();//在这个sessionScope的manager 我设置了一个用户名的标识userName
            }else{
               //这个原理和第一个是相同的 所以说不再讲解了
               loginUser.setMessage("the password is wrong!");
                result = "login.jsf";
            }
        }
        return result;//返回这个导航的结果
    }
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html">
    <h:head>
        <title>Facelet Title</title>
    </h:head>
    <h:body>
        <h:outputLabel value="Welcome you ! "></h:outputLabel>
        <h:outputText value="#{manager.userName}"></h:outputText>
    </h:body>
</html>
我认为有的是直接result 可以将后缀名去掉 我觉得这样是不是让代码变得没有层次感所以这就是我的写的风格 个人喜好 不说也罢