lift的初級使用

如今作了一個登錄界面,初步總結了一下先後臺的關係html

如今Boot裏面配置login頁面的siteMapnode

 Menu("Login") / "login",  login.html被放在了webapp下面web

 

前臺的login.html 彷佛須要被類app

<div id="loginpage" class="lift:surround?with=dsdd&at=content">的div包起來,最重要的是這個div的class,它讓這個div下面的內容被lift:surround包了起來,with後面是一個頁面,at的是一個id,但個人dsdd是隨便寫的,也能夠起做用,但去掉with和at就不行,初步猜測,div下面的內容,引用的關於lift的東西,好比:webapp

 <form class="lift:LoginForm?form=post">,都是須要post

<div id="loginpage" class="lift:surround?with=dsdd&at=content">才能成功起做用的,可能個人分析是錯誤的,但目前只能這麼設想了,後臺的loginForm,裏面有登錄判斷的流程:lua

 

 
  1. object LoginForm { 
  2.  
  3.   def render(in: NodeSeq): NodeSeq = { 
  4.     var nodes=new Queue[NodeSeq] 
  5.      nodes += in 
  6.     // use a Scala for-comprehension to evaluate each parameter 
  7.     for { 
  8.       r <- S.request 
  9.       if r.post_? // make sure it's a post 
  10.       name <- S.param("name"// get the name field 
  11.       passwd <- S.param("passwd"// get the age field 
  12.     } { 
  13.       // if everything goes as expected, 
  14.       // display a notice and send the user 
  15.       // back to the home page 
  16.       S.notice("Name: " + name) 
  17.       S.notice("Age: " + passwd) 
  18.       if (User.authenticate(name, passwd) != None) 
  19.         S.redirectTo("/"
  20.       else
  21.          nodes += <div> <span class="label label-warning"> Hi,你的用戶名或密碼不正確 !!</span> </div> 
  22.       } 
  23.     } 
  24.  
  25.     // pass through the HTML if we don't get a post and 
  26.     // all the parameters 
  27.    <div> {nodes} </div> 
  28.   } 

form表單的內容是:spa

 

 
  1. <form class="lift:LoginForm?form=post"> 
  2.                        用戶名: 
  3.                        <input type="text" id="name" placeholder="用戶名:" class="input-large" value="admin2" 
  4.                               name="name"> 
  5.                        <br> 
  6.                        密 碼: 
  7.                        <input type="password" id="passwd" placeholder="密 碼: " class="input-large" value="123456" 
  8.                               name="passwd"> 
  9.                        <br> 
  10.                        <br> 
  11.                        <button type="submit" class="btn btn-primary">登 錄</button> 
  12.  
  13.                        <button type="reset" class="btn btn-primary">重 置</button> 
  14.  
  15.                    </form> 

若是登錄失敗,就在最後加一個提醒,目前只能用這個笨辦法來告訴用戶,你的用戶名和密碼錯誤了,上一個截圖,code

登錄前:orm

admin2是個默認值,是能夠登錄的

修改用戶名,讓它失敗,登錄失敗後

登錄成功固然就直接跳轉了

本文出自 「沐浴心情」 博客,請務必保留此出處http://lj3331.blog.51cto.com/5679179/1020916

相關文章
相關標籤/搜索