繁体   English   中英

在 Play 框架中将 Scala 会话对象转换为 Java 会话对象

[英]Converting a Scala Session Object to a Java Session Object in Play Framework

有没有办法将scala 中的会话对象转换为Play中 java的会话对象

我有一个用java编写的Model method ,例如:

public void DoSomething(Request request, Session session)
{
       String fancyValue = request.getQueryString("userInput");
       session.put("Some Fancy Stuff",fancyValue);
}

和一个用scala编写的Controller方法,如:

def showHomePage = Action { implicit request =>

     val JRequest = play.core.j.JavaHelpers.createJavaRequest(request)
     val JSession // conversion needed from request.session to play.mvc.Http.Session

     new SomeModel().DoSomething(JRequest,JSession)

     // would this include the updates done to the session in the java model?
     Ok("Testing Stuff").withSession(session) 
}

如果您查看JavaHelpers包的文档,您会在那里找到一个函数createJavaContext 您可以使用它来获取play.mvc.Http.Context ,您可以从中提取play.mvc.Http.Requestplay.mvc.Http.Session

val java_ctx = play.core.j.JavaHelpers.createJavaContext(request)
val java_request = java_ctx.request()
val java_session = java_ctx.session()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM