问题标签 [playframework-2.4]
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.
java - 如何在 play 2.4 中使用 CommonsMailerPlugin
我刚刚从 play 2.2->play 2.3 迁移了我的应用程序,现在无法从 play 2.3->play 2.4 迁移它,尤其是使用 CommonsMailerPlugin。我收到以下运行时错误:
unit-testing - 单元测试 PlayFramework 控制器上的“找不到路由器”
我在尝试按照播放框架文档步骤对我的控制器进行单元测试时遇到了一些麻烦。
我使用 java 模板创建了一个新应用程序。将生成的 ApplicationTest 替换为文档的 ApplicationTest,更正了与错误包相关的编译错误,但传递给 FakeApplication 的附加配置仍然存在问题(ImmutableMap.of("play.http.router", "javaguide.tests.Routes"))
我尝试了很多不同的名称和目录javaguide.tests.Routes
,但我总是下面的错误。
有谁知道我缺少什么或可以分享对具有此类测试工作的 github 项目的引用?
如果有帮助,Play Framework 应用的剖析:https ://playframework.com/documentation/2.4.x/Anatomy
scala - 如何使用 playframework2.4(Scala) 在 application.conf 中设置 http.port
我可以像这样使用 playframework1.2.7 在 applicaton.conf 中设置 http.port
还有 jdpa.port。
但是在play2.4中。
我不能http.port
像这样在 application.conf 中设置。
我知道当我运行这个项目时我可以这样做。
但这对我来说太麻烦了。
如果你有一些想法,请分享你的想法。
playframework - playframework 2.4 GlobalSettings onStart 已弃用
我正在将我的应用程序从 play 2.3 迁移到 2.4。
在 GlobalSettings 的 2.3 应用程序中,我必须使用 slick 访问数据库来创建 postgres 数据库函数。
由于 GlobalSettings 在 2.4 中已弃用,因此替代方法是使用 Eager Bindings:
https://www.playframework.com/documentation/2.4.x/ScalaDependencyInjection#Eager-bindings
像这样:
但这给了我错误:
有谁知道我该如何解决这个问题?谢谢。
scala - 使用 Scala 和 Play Framework 在 DB 中插入包含两列的项目
我已经按照这个应用程序教程。基本上,在这个应用程序中,他们创建了一个待办事项。我已将该模型复制到调查应用程序中,并且我想创建一个包含问题文本和问题类型(二进制、文本输入等)的问题。关于我的问题表格格式等,我得到了不同程度的错误,但主要问题似乎newQuestion
在于
我的代码格式如下:
QuestionController.scala:
CaseClass/companion 对象 Question.scala:
我本质上想用两个参数运行 create:
但我不确定如何在bindFromRequest.fold
前面提到的情况下处理这个问题。
- 我尝试编辑
questionForm
以使用映射和使用(Question.apply)(Question.unapply)
以及只是一个元组questiontext -> nonEmptyText
和questionType -> nonEmptyText
包含在该元组中的和没有运气。 - 我相应地编辑了
scala.html
文件以包含正确类型的值,但仍然没有运气。 - 我可以用一列保存它,但它崩溃了,因为我
questionType
在 pgsql 中将它定义为必填字段,并且在~get questionType from *
没有问题类型的情况下附加后获取失败。
更新:
我已经对其进行了编辑以尝试在此处模拟代码: https ://www.playframework.com/documentation/2.4.1/ScalaForms
所以现在,我正在使用以下代码:
我已经更新了 question.scala.html 文件以@(questions: List[Question], questionForm: Form[(Question)])
作为输入。
当我点击提交时,我不断收到 :wtf 的日志消息
按照我最近链接的示例,我不明白为什么它不去案例question
并继续在数据库中创建问题。我也更新了我的数据库创建函数,如下所示:
感谢您迄今为止的帮助,我希望我能尽快找出我做错了什么。
playframework - PlayFramework 2.4 在应用程序启动后运行一些代码
在 play 2.4 中,覆盖 ApplicationLoader 中的 builder 方法或在 Abstract 模块中实现 EagerBinding 替换了现有的 play 2.3 GlobalSettings onStart。
但是在 play 2.3 onStart 方法中,您的应用程序已经启动并加载了所有插件/依赖项。你能在play 2.4 中做同样的事情吗,即在应用程序启动后运行一段代码。
在我的情况下,Slick 要求应用程序在访问数据库之前已经启动。
谢谢
scala - 在 Play Framework 2.4.2 中使用 scalates/specs2 测试 HttpErrorHandler
我已经在 Play Framework 2.4.2 中实现了自己的 HttpErrorHander,它的功能非常好,但现在我希望能够使用故意抛出异常的“假动作”进行测试。我试过scalatest
了specs2
到目前为止,我尝试了以下测试。我尝试调试代码,但我从不输入我的方法。的方法play.api.http.DefaultHttpErrorHandler
都不执行。
TestController.exceptionAction
外观中的动作方法:
第二次尝试:
和路线/exception
我还添加了application.conf
play.http.errorHandler
. 但正如我所说,这是可行的,但我无法对其进行测试。测试总是失败并出现 Exception 中给出的异常exceptionAction
。
先感谢您
java - 在 Java Play 2.4 中测试具有模拟依赖项的控制器
我正在从 2.37 -> 2.4.1 迁移我的 Java Play 应用程序。在我的控制器单元测试中,我在每次测试之前都设置了控制器及其相关的模拟依赖项。
似乎 getControllerInstance 方法已从 Play 2.4 中的 GlobalSettings 中删除,所以现在我无法覆盖它来返回我的控制器实例。
我知道我可以从我的测试中直接在我的控制器实例上调用该方法,例如:
这种方法似乎可以正常工作,直到 someMethod() 依赖于请求中的表单数据,例如
测试是否有办法路由请求(可能包括表单数据)以使用我的控制器实例?
(我正在使用 Guice、Mockito 和 JUnit)
scala - Play 2.4 中的 Global.getControllerInstance 等价物是什么?
我正在将(Scala)Play 2.3 应用程序迁移到 2.4。以前我有一个自制机制来构建我的Controller
对象,并使用Global.getControllerInstance
. 这在 2.4 中不再可用。有没有一种简单的方法可以达到同样的效果?我宁愿不立即切换到使用 Guice。
playframework - 在 play 2.4 logback 配置中,${application.home} 定义在哪里?
此处的链接向您展示了如何配置自定义记录器。
https://www.playframework.com/documentation/2.4.x/SettingsLogger
我只是想知道 ${applicaation.home} 在哪里定义,因为它似乎没有在我的生产环境中定义。