如今作了一个登录界面,初步总结了一下先后台的关系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