标签:检查 配置 https csharp rac creat 数据 gmail .com
自动设置内容类型为text/plain
val textResult = Ok("Hello World!")
自动设置内容类型为application/xml
.
val xmlResult = Ok(<message>Hello World!</message>)
手动设置类型
val htmlResult2 = Ok(<h1>Hello World!</h1>).as(HTML)
val result = Ok("Hello World!").withHeaders( CACHE_CONTROL -> "max-age=3600", ETAG -> "xx")
cookies是一个特殊格式的http请求头
val result = Ok("Hello world") .withCookies(Cookie("theme", "blue")) .bakeCookies()
丢弃一个浏览器中之前存储的cookie
val result2 = result.discardingCookies(DiscardingCookie("theme"))
设置或移除cookie后,回复不变
val result3 = result.withCookies(Cookie("theme", "blue")).discardingCookies(DiscardingCookie("skin"))
改变文本的编码格式,默认格式为utf-8
class Application @Inject()(cc: ControllerComponents) extends AbstractController(cc) { implicit val myCustomCharset = Codec.javaSupported("iso-8859-1") def index = Action { Ok(<h1>Hello World!</h1>).as(HTML) } }
session:保存在会话中的数据在整个用户会话期间都有效
flash scope:只在下次请求可用
session的配置(配置application.conf)
session的设置
Ok("Welcome!").withSession( "connected" -> "user@gmail.com")
插入一个元素
Ok("Hello World!").withSession( request.session + ("saidHello" -> "yes"))
删除一个元素
Ok("Theme reset!").withSession(request.session - "theme")
读取session中的数据
def index = Action { request => request.session.get("connected").map { user => Ok("Hello " + user) }.getOrElse { Unauthorized("Oops, you are not connected") } }
清除整个session
Ok("Bye").withNewSession
flash中的数据仅保存到下一个request中,且未被签名保护。因此flash仅用于在非Ajax请求中传送成功或失败信息
//检查flash中是否有success信息
def index = Action { implicit request => Ok { request.flash.get("success").getOrElse("Welcome!") } } //在保存一条信息后,想要将页面重定向到初始页面,并且想要在初始页面中显示一条信息表示保存成功,就可以使用flash def save = Action { Redirect("/home").flashing( "success" -> "The item has been created") }
获取Flash scope中的值
@()(implicit flash: Flash) ... @flash.get("success").getOrElse("Welcome!") ... def index = Action { implicit request => Ok(views.html.index()) }
标签:检查 配置 https csharp rac creat 数据 gmail .com
原文地址:https://www.cnblogs.com/feiyumo/p/9132518.html