Play Framework 2.8.2 学习系列二------ Web基本应用

采用的是前后端分开开发的方式进行的,但是在登录等特殊地方也是要做一些交互动作

  1、从html页面访问action。

   Form中的action属性可以这样设置,action="@pc.routes.LoginController.loginSys()",其中pc是controller目录下的一个子目录,他的包名为package controllers.pc。要求form的action路由至controllers.pc目录下的LoginController的loginSys,指向很明确。

  2、CSRF设定。在配置中启用了CSRF功能,所以在每次的请求中需要添加一个csrfToken参数。在html页面的body中添加:

  运行后会自动生成一个csrfToken的隐藏区域,只要获取这个token并且在每次的请求中添加进去就可以在csrf过滤器开启的情况下实现get以外的请求

  3、html解析。如果有后端的html代码需要推送到前端显示,正常情况下都会被浏览器解析而不再是正常的html代码。如何解决这个问题呢->@Html(htmlStr),即可展现原生的html信息

  4、访问静态资源。指定一个img可采用这样的方式<img src='@routes.Assets.versioned("images/files/test.png")'/>,但是同时在css中需要添加html页面生成的地址信息,比如background:url(/assets/images/files/test.png) no-repeat #fff; 当前之前的img也可以这样添加目录。添加js库的引用均需如此。在此之前需要在routes中配置静态资源路径“GET /assets/*file controllers.Assets.versioned(path="/public", file: Asset)“

     5、获取js提交的post数据。对于一个control里面的action获取js数据如果通过form提交可以通过DynamicForm获取。如果通过ajax的httprequest可以通过request.queryString("userName")获取。如果是json数据可以直接request.body().asJson()获取

  6、登录控制。在登录时可以通过addingToSession(request,"userName", userName)这样的方式添加,在注销的时候用withNewSession()销毁。在用户存活期间可以在想要验证的时候获取req.session().get("userName"),以验证登录合法性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值