问题标签 [playframework-2.6]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1992 浏览

java - Play Framework - ErrorHandler 没有被调用

在尝试在特定场景中使用HttpErrorHandler机制处理异常时,我在Play 框架(2.6)中遇到了一个问题。

我在根包中有一个简单的ErrorHandler :

我创建了一个自定义控制器来处理资产

我检查了ErrorHandler并且在所有情况下都可以正常工作,除非在AssetsCustomController中从该方法引发异常:

例如,当抛出 IllegalArgumentException时,我的ErrorHandler被忽略,Play 使用他的本机错误处理程序。这是堆栈跟踪:

[解决方案]
感谢Flo354的回答,我能够解决问题,并且AssetsCustomController是这样的:

0 投票
1 回答
722 浏览

java - Where are the controller components?

I'm trying to move to compile-time dependency injection using Play Framework 2.6 in Java. My reading of the Play 2.6 Migration Guide under "Scala Controller Changes", leads me to believe that I should pass an instance of ControllerComponents into my controller classes; but I can't find a method that provides those components.

play.api.BuiltInComponentsFromContext defines a controllerComponents() method, but the Java version of that class, play.BuiltInComponentsFromContext, does not.

What is going on?

Under "Using Dependency Injection" in the Play 2.6 (Java) documentation, it talks about overriding javaHandlerComponents in BuiltInComponents. OK fine, but does that mean I have to define all of my actions as separate classes? Can I not use Controller classes if I want to do compile-time dependency injection in Java?

0 投票
0 回答
305 浏览

playframework - 播放登录未捕获 CSRF 令牌

我正在 Play 上进行一些简单的登录验证!2.6 框架 Web 应用程序,它似乎没有获取我在以下内容中包含的 CSRF 令牌view.loginForm

然后我的 conf.routes 通过以下方式处理 POST:

POST /login controllers.LoginRegController.attemptLogin

这是中的方法LoginRegController

一旦用户点击提交,它就会被带到框架的默认授权页面,我在控制台上看到它没有通过 CSRF 检查:

[警告] p.filters.CSRF - [CSRF] 检查失败,因为在标头中找不到令牌

我认为这里的答案中提到了一个类似的问题即会话正在刷新,但我认为它会在请求本身中有令牌,通过测试,然后加载一个新会话。任何想法如何修复,或如何获取令牌并将其“插入”到 Controller 方法中的必要位置?

0 投票
0 回答
72 浏览

scala - Play Session 信息不会在请求中持续存在 - 隐含问题?

我不知道为什么,直到今天这才成为问题,而且我有一段时间没有更改此控制器中的任何代码,但我突然似乎无法在使用 Play 2.6 制作的应用程序中保存跨请求的信息。在我的 LoginController 中,当用户在表单中填写其凭据时,我会从 POST 请求中调用此方法:

view.html.successLoginResponse的负载如下:

但是当这个加载时,我在视图中的方法检索到的值是“未找到用户名”和“未找到身份验证”的“否则”结果

很明显,返回的 OK 请求没有存储信息,即使我确实将它们添加到 .withSession(request.session + ("authenticated" -> "true") + ("username" -> userName))

代码中的行。在今天之前,它会这样做并且不会将信息显示给我,但是在任何后续页面加载时,该请求将检索数据,并且我将能够获取用户名或身份验证检查。它是否抓住了顶部的隐式请求并将其加载到视图中?从第一次调用的请求的旧版本attemptLogin()?如果是这样,我如何让它取而代之的是新的会话数据?

我试着做

就在Ok(...)回应之前,但这并没有发生。

0 投票
2 回答
1430 浏览

playframework - 迁移play framework 2.6带来java.lang.ClassNotFoundException: jdk.internal.misc.Unsafe

尝试迁移到新的播放版本 2.6.3 但在应用程序启动迁移后我有如下异常:

获得一些如何解决它的想法真的很棒。

0 投票
0 回答
112 浏览

angularjs - 玩!返回错误请求 400

我正在尝试通过播放将数据插入到 mongo 集合中。Play 控制器中的动作如下:

}

来自angularjs的http请求如下:

Play 的响应是“错误请求或无效 json”。然而,开发者工具中的请求正文显示 {"name":"test","location":"test"}

这段代码有什么问题。我对 AngularJs 和 Play 完全陌生!请帮忙。

0 投票
1 回答
686 浏览

regex - Scala Play:电子邮件正则表达式中的“@”符号无效

我正在尝试输入一个使用该pattern属性的输入正则表达式,以确保^[a-zA-Z0-9_]{6,12}$在我的 Scala Play 模板中输入有效的用户名(正则表达式中的部分)或电子邮件。使用 Play 模板时,@用于指示 HTML 的中断和“Scala 到这里”,因此当我输入行并尝试包含电子邮件中使用的 @ 时。它抱怨:

'@' 符号无效

我试过了:

  1. 正常做
  2. 三引号,前面没有转义字符@
  3. 前一个转义字符@
  4. 前面的两个转义字符@(带和不带三引号)

    模式="^[a-zA-Z0-9_]{6,12}$|/^[a-zA-Z0-9.!#$%&'<em>+/=?^_`{|} ~-]+@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)$/"

    模式="""^[a-zA-Z0-9_]{6,12}$|/^[a-zA-Z0-9.!#$%&'<em>+/=?^_`{ |}~-]+@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)$/"""

    模式=^[a-zA-Z0-9_]{6,12}$|/^[a-zA-Z0-9.!#$%&'<em>+/=?^_`{|}~ -]+\@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)$/"

    模式="^[a-zA-Z0-9_]{6,12}$|/^[a-zA-Z0-9.!#$%&'<em>+/=?^_`{|} ~-]+\@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)$/"

有任何想法吗?

(编辑呃抱歉,所以不会显示包装在input标签中的东西,它也不会让我将上面的内容格式化为代码,所以我不得不在我的原始帖子之后添加模式 =“...”而不格式化为这样,道歉。)

0 投票
1 回答
633 浏览

java - 在 Java 播放中使用异步 mongo 驱动程序

我正在使用 mongo DB 开始新的 Java Play 项目。我浏览了 Play!文档,但没有 mongo Java 异步驱动程序。仅提及 Scala 反应式驱动程序。SO有许多类似的问题,但它们都已经过时了。

现在以异步方式处理 mongo DB 的最佳方法是什么?

假设我只有一个带有订单的文档集合,我需要添加一个 OrderController 来返回来自 mongo 的所有订单。

0 投票
1 回答
1160 浏览

java - 播放框架 2.6:NoClassDefFoundError:播放/缓存/DefaultCacheApi

我正在尝试将我的应用程序从 play 2.2.6 升级到 play 2.6.3,但我遇到了这个问题。

我已经阅读了@KdgDev@NikolajPL问题的答案,听起来很相似,但到目前为止没有任何帮助。

我不确定这个问题的根源,但我认为它可能与 Redis DB 连接有关,因为它使用不同的缓存方法,并且从 play 2.5 开始默认 ehcahce 应该被禁用。

我的配置文件:

构建.sbt

插件.sbt

我正在使用 sbt 运行我的项目并获得以下堆栈跟踪:

0 投票
1 回答
869 浏览

scala - MacWire:找到多个类型的值

我正在使用 MacWire DI 框架,但出现此错误。

我的应用程序加载器是这样的:

在对代码进行少量修改后,我遇到了一些其他类似的错误。如何遵循 DI 依赖项来追踪这些错误?