zoukankan      html  css  js  c++  java
  • 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"),以验证登录合法性。

  • 相关阅读:
    GCC 里面的一些命令
    Servlet中的GET和POST之间的区别
    短暂的计算机职业生涯
    如何写详细设计文档
    exe4j打包jar文件成exe .
    android反编译问题
    OnScrollListener拖住主线程
    涵盖Android所有知识点的小实例
    屏蔽log
    sdk调低版本时,clean后失去R文件
  • 原文地址:https://www.cnblogs.com/ershoushouji/p/13265104.html
Copyright © 2011-2022 走看看