如今作了一個登錄界面,初步總結了一下先後臺的關係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
- object LoginForm {
- def render(in: NodeSeq): NodeSeq = {
- var nodes=new Queue[NodeSeq]
- nodes += in
- // use a Scala for-comprehension to evaluate each parameter
- for {
- r <- S.request
- if r.post_? // make sure it's a post
- name <- S.param("name") // get the name field
- passwd <- S.param("passwd") // get the age field
- } {
- // if everything goes as expected,
- // display a notice and send the user
- // back to the home page
- S.notice("Name: " + name)
- S.notice("Age: " + passwd)
- if (User.authenticate(name, passwd) != None)
- S.redirectTo("/")
- else{
- nodes += <div> <span class="label label-warning"> Hi,你的用戶名或密碼不正確 !!</span> </div>
- }
- }
- // pass through the HTML if we don't get a post and
- // all the parameters
- <div> {nodes} </div>
- }
- }
form表單的內容是:spa
- <form class="lift:LoginForm?form=post">
- 用戶名:
- <input type="text" id="name" placeholder="用戶名:" class="input-large" value="admin2"
- name="name">
- <br>
- 密 碼:
- <input type="password" id="passwd" placeholder="密 碼: " class="input-large" value="123456"
- name="passwd">
- <br>
- <br>
- <button type="submit" class="btn btn-primary">登 錄</button>
- <button type="reset" class="btn btn-primary">重 置</button>
- </form>
若是登錄失敗,就在最後加一個提醒,目前只能用這個笨辦法來告訴用戶,你的用戶名和密碼錯誤了,上一個截圖,code
登錄前:orm
admin2是個默認值,是能夠登錄的
修改用戶名,讓它失敗,登錄失敗後
登錄成功固然就直接跳轉了
本文出自 「沐浴心情」 博客,請務必保留此出處http://lj3331.blog.51cto.com/5679179/1020916