问题标签 [playframework-2.3]
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.
json - 如何使用 import play.api.libs.json 将任何 JSON 字符串转换为 Map[Symbol, Any]?
我不知道是否有办法在Map[Symbol,Any]
usingplay.api.libs.json
库中转换 JSON 片段(作为字符串),其中Any
可能是 a Int
、 a Double
、 aString
或嵌套的Map[Symbol,Any]
。
任何人都可以给我一个提示来得到这个吗?
java - 导入库在 Play Framework 中出现错误
我目前正在尝试在 Play Framework 中导入简单的对象,例如 JSON,但我不断收到错误消息。有人知道如何避免这种情况吗?
这是我的代码:
我得到的错误是:
java - 在 Play Framework 2.3.0 (Java) 的 build.sbt 中定义 JAVA_OPTS
我试图在 build.scala 中定义 JAVA_OPTS 以便为运行和测试任务指定调试端口和配置文件,但它不起作用。我启动activator
然后run
或test
。这是我的 build.sbt :
我搞砸了什么?谢谢你的帮助。
playframework - 处理失败的期货
在 Play Framework 2.3 中,动作可以从成功的未来调用中产生结果,如下所示:
但是一个动作如何处理失败的未来调用,即通过调用failure()
而不是完成的未来success()
?
例如,一个动作如何产生一个InternalServerError
结果,并在未来的失败的可抛出中返回消息?
onComplete
并且onFailure
回调似乎不适合动作的流程(它需要从成功的未来或失败的未来返回结果)。
scala - 如何在 PlayFramework 中验证查询字符串参数
我想知道,如何在 PlayFramework 2.x 中验证查询字符串参数。假设我有非常常见的 shift、limit (DROP, LIMIT) 参数用于序列,并且我有这样的路线:
我想将我的班次和限制保持在正确的范围内,例如从 1 到 60 的限制,如果用户尝试设置像 23979 这样的限制,它应该减少到 60。过滤器对此不起作用,因为它们在路由器之后触发。
asynchronous - DBAction(parse.json).async 与 play-slick
我正在使用play-slick。我试图在一个漂亮的 DBaction 中返回一个未来,但我失败了:
我该如何归还这个未来?Async { } 现在在 2.3 中消失了,并且 DBAction().async (正如文档所说,用于具有未来的正常播放动作)似乎不可用。
scala - 使用 Play 2.3 Websocket 的私人聊天应用程序
我正在使用 WebSockets 开发一个聊天应用程序(在带有 scala 的 Play 2.3 中)。必须根据传入消息将消息广播给所有用户或特定用户组。一个用户可以参与多个群聊,并且能够同时与个人聊天。
Concurrent.broadcast[JsValue]
返回元组(enumerator, channel)
。我不知道如何对这个频道应用过滤器,所以只有特定的客户组会收到消息。
我们可以在枚举器上应用过滤器,例如 (enumerator &> Enumeratee.filter[JsValue] {...} )。但是我们不能通过这个枚举器推送消息。
我不想在客户端解析消息。我的代码看起来像这样,
我在网上找到的大多数示例都使用了已弃用的方法,其中一些在 Play 2.3 中被删除(如 Enumerators.imperative)。我不知道如何Concurrent.unicast
工作。
我想知道是否有另一种使用 Actors 的方法来做同样的事情。我也想知道,这种设计将处理更高的负载(超过 1000 个用户)。谢谢你。
playframework - 玩!应用程序在咖啡脚本更改时重新加载
我最近切换到 PlayFramework 2.3。我的应用程序使用由 sbt 插件添加的 CoffeeScript。当我的应用程序运行时(通过“激活器运行”),如果我触摸任何咖啡文件并在浏览器中按 F5,则整个应用程序将重新加载:
有没有办法不重新加载整个应用程序,就像在 PlayFramework 2.2 中一样?
forms - 在 Play Framework for Scala 中提交包含多个选择的表单
我在表单中有一个多项选择项。根据 Play Framework 的文档,我需要“重复值”以使所有选定的选项都适合我的数据结构的 List[String] 属性。
我引用 Play 的文档:
当您使用这样的重复数据时,浏览器发送的表单值必须命名为 emails[0]、emails[1]、emails[2] 等。
我无法弄清楚如何命名上述值。我试图创建一个像这样的选择元素
但在提交表单后,我在 URL 中看到
代替
没有括在方括号中的索引会阻止正确绑定 MyFormData 类中名为 fq_cset 的 List[String] 属性中的参数。
我怎样才能让它正常工作?这是获得我需要的东西的正确方法还是我误解了文档?
javascript - Javascript:两个 if typeof undefined 语句给出不同的结果
运行 play framework 2.3 版,虽然它可能不相关:
我有一个包含以下内容的 html 文件:
somescript.js 有这个:
当我第一次加载页面时, x 按预期未定义。但是,当我转到同一应用程序中的不同页面,然后返回时,控制台显示:
这很奇怪,因为在 html 中,if 语句为 false,但在 somescript.js 中,相同的 if 语句为 true。
为什么要这样做,我如何确保两个脚本以相同的方式运行?