问题标签 [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.
playframework - 名称为“play”的 EhCache 实例已存在
在使用异步couchdatabase java 驱动程序时,我遇到了Play 框架默认缓存 ( EHCache ) 的问题。Play 在热重载时崩溃并出现以下错误:
我发现这不仅适用于couchdatabase驱动程序,还适用于其他一些场景,例如https://groups.google.com/forum/#!topic/pac4j-dev/2_EUOCrov7M。
java - 带有附加约束的 PlayFramework 表单验证
免责声明:在这里使用 PlayFramework 2.6.0-M4!
我显示一个表单,并希望添加额外的约束,即给定字段禁止使用某些字符串。
现在我有两个问题:
1)Ok(s"Here should go success, if user was created: $formData").as("text/html")
在提供的数据有效的情况下工作,但在用户输入禁止名称的情况下:
a)没有用户被创建(好)b)BadRequest("No means no!")
永远不会被退回!(虽然我得到一个 http 400 响应,只是空的)
我不明白为什么 b) 会发生。
此外,我想关注https://www.playframework.com/documentation/2.6.x/ScalaForms
而是像这样编写代码:
但遗憾的是,这会导致每个帖子请求出现错误,即使是完全有效的请求:
错误:List(FormError(name,List(error.required),List()))
我究竟做错了什么?
编辑:为了澄清我所说的“总有效请求”的含义,我举了一个关于返回上述错误的例子。
name=Teolha&dummy=true
作为邮寄请求发送。
实际上,我输入什么并不重要,但是(渲染的)表单的 HTML5 部分确保我必须输入一些内容。我所期望的是Ok
,如果有任何不在列表中的ReservedWords
东西,否则BadRequest
edit2:这可能是因为默认过滤器吗?
这些正在播放 2.6:
我问,因为我在这里没有使用 Twirl(而是 ScalaTags)来呈现表单!所以也许我错过了 twirl 实现将涵盖的一些隐含的东西(令牌或其他东西)?
scala - incorrect Filename when downloading from Play 2.6 application
I am trying learn Play Framework. In the documentation, under section Serving files, when I try following example,
the downloaded filename is utf-8''README.txt, instead of README.txt.
Unable to understand WHY?
Configuration
- Java (1.8.0_131-b11)
- Scala (2.12.2)
- Play (2.6.0)
- SBT (0.13.15)
scala - 在 Play 2.6 中对控制器进行单元测试
尝试在 Scala 的 Play 2.6 中测试控制器时出现空指针异常。这是对 OK 响应的测试:
这是我正在测试的控制器:
该错误看起来与隐式请求相关,但我找不到解决方案。
日志输出为:
java.lang.NullPointerException was thrown.
java.lang.NullPointerException
at controllers.ApplicationController.home(ApplicationController.scala:29)
html - 如何返回以防止实体逃脱在 Play 中返回?
我正在使用带有 Scala 的 play 2.6 并在我的视图模板中有这个位:
但它正在渲染:
class="active"
但我希望它呈现这个:
"class="active""
我觉得我很接近但不能完全让它不在"
最终的 HTML 中使用。有什么建议么?
postgresql - 在 SBT 中为 Postgres 依赖项放入修订部分的内容
我在 build.sbt 文件的库中添加了对 PostGres 9.6 的依赖项,但我不确定要在修订部分中添加什么,或者这些字段的含义:
我在 Stackoverflow 上看到过旧的,例如:
而且我知道 9.1 意味着版本 9.1 并且 jdbc4 很好...... JDBC4。但是我怎么知道其他字段是什么意思以及我从哪里得到它们呢?
谢谢!
java - 未能使用播放框架应用程序注入器注入 WSClient
我正在使用 play 2.6.0 和 scala 2.11.8
我一直在使用WSClient
相同配置的游戏,没有任何问题:
应用程序.conf:
现在我需要在我的测试中注入它的一个实例,因为我的一个类将它作为依赖项。
它看起来像这样:
此时测试已经失败并出现以下错误:
1) 注入构造函数时出错,java.lang.NumberFormatException: 格式错误 600000 at play.api.libs.ws.ahc.AsyncHttpClientProvider.(AhcWSModule.scala:40) at play.api.libs.ws.ahc.AsyncHttpClientProvider.class( AhcWSModule.scala:39) 同时定位 play.api.libs.ws.ahc.AsyncHttpClientProvider 同时定位 play.shaded.ahc.org.asynchttpclient.AsyncHttpClient 的第一个参数 play.api.libs.ws.ahc.AhcWSClientProvider.( AhcWSModule.scala:203) 在 play.api.libs.ws.ahc.AhcWSClientProvider.class(AhcWSModule.scala:203),同时定位 play.api.libs.ws.ahc.AhcWSClientProvider,同时定位 play.api.libs.ws。 WS客户端
造成的:
java.lang.NumberFormatException:格式错误 600000
有谁知道为什么会这样?没有找到任何可以在线帮助我的东西,我尝试了...
scala - 播放 2.6 EntityStreamSizeException 异常
在我的应用程序中,我需要上传相当大的文件(最多 4GB)。我使用file
表单字段进行操作并将文件保存到临时位置以供进一步处理。但是,当涉及超出内容大小限制的文件时,我得到一个 EntityStreamException:
我尝试在 application.conf 中设置两个 akka.*.[client|server] 限制,如下所示:
但它仍然崩溃并显示相同的消息。我还尝试遵循文档并设置播放设置:
正如这里建议的那样: https ://www.playframework.com/documentation/2.6.x/ScalaBodyParsers
我尝试的最后一件事是显式覆盖我的帖子处理程序中的设置:
似乎没有任何效果。谁能告诉我我做错了什么?
更新:潜伏在 play/akka 代码和一些调试之后,我可以看到任何与 akka 相关的设置都被完全忽略了。我看到 play.http.parser 设置被传播到上下文并被使用,但是没有应用任何 akka 设置,并且 maxContentLength 仍然设置为默认值 8MB。但根据这个文件:https ://www.playframework.com/documentation/2.6.x/SettingsAkkaHttp 他们应该被应用。不知道下一步该怎么做。任何帮助将不胜感激。
ajax - 在 Scala Play 中将反向路由作为 JavaScript 参数传递
在我看来,我在 AJAX 中使用反向路由从控制器调用 Action:
我在 app.controllers.MyController 的控制器有一个方法:
路由如下:
GET /mycontroller/retrieve2 controllers.MyController.loadTemplate2
当我像这样对路由进行硬编码并从模板中的某个位置调用它时<li onclick="loadDoc()">Load Template 2</li>
,它按预期工作并加载模板 2。但是,这种方法很有用,我希望能够参数化由 调用的 URL xhttp.open
,所以我想换
function loadDoc()
function loadDoc(myURL)
和_
xhttp.open("GET", "@routes.MyController.loadTemplate2()", true);
和
xhttp.open("GET", myUrl, true);
然后能够调用我可能拥有的其他方法,例如:
从模板中的其他地方<li>
类似:
但是当我这样做时,它不起作用。控制台告诉我 SyntaxError: invalid regular expression flag d
我也尝试过这样做
<li onclick="loadDoc(@routes.MyController.loadTemplate2())">Load Template 2.absoluteURL(true)</li>
但这告诉我在控制台中的参数列表[了解更多]之后的 SyntaxError: missing )。错误消息指向生成的 HTML (1:13) 标题中的一行,这没有任何意义 - 上面没有任何“()”。但是我没有改变其他任何东西,并且在任何地方都找不到任何丢失的')'。我觉得我很接近,但不能完全明白。