java - 在 Play 框架中将 Scala session 对象转换为 Java session 对象

标签 java scala playframework

有没有办法在Play中将scala中的session对象转换为java中的session对象?

我有一个用java编写的模型方法,例如:

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) 
}

最佳答案

如果您look at the docs of the JavaHelpers package ,你会在那里找到一个函数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()

关于java - 在 Play 框架中将 Scala session 对象转换为 Java session 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22961068/

相关文章:

database - Playframework 无法在生产环境中读取数据库表?

java - Hibernate 4.3.10 中的 EJB3PersistEventListener 在哪里?

java - 无法在 Android 中显示来自 Firebase 实时数据库的随机数据

scala - 为什么不将 Nil 传递给 foldLeft 工作?

Scala Play 2.1.0 - Assets 没有出现在 Heroku 上?

testing - 我怎样才能开始玩!测试中的框架服务器

java - 什么是数据字段?

java - 使用 Apache poi 从 xlsx 中读取百万条记录

scala - 具有保留类型的序列的任一到任一的通用序列

java - 如何从 Play 框架标准输出中消除异常堆栈跟踪