Play framework 2.0是一个用于创建Web应用程序的全栈独立框架.然而,可能许多人需要将其集成到他们的构建管理中.不幸的是,我没有找到关于他的更多信息.
这是我的用例:我想创建一个使用Scala和Play 2.0的新项目.我不想使用sbt.我想使用Gradle,依赖管理应该通过Maven存储库完成.
我只找到了这个播放模块:http://www.playframework.org/modules/maven-1.0/home,它通过Maven支持依赖管理.
我在Grails中寻找类似这些示例的内容:https: //github.com/grails/grails-gradle-plugin或http://grails.org/doc/latest/guide/commandLine.html#4.5%20Ant%20and %20Maven
当然,我可以编写调用"播放控制台命令"的脚本/任务.虽然,我不喜欢这个解决方案.有没有更好的方法来使用Gradle/Maven进行构建管理?如果这是唯一的解决方案,那么我会使用Gradle,然后调用Play命令(即内部sbt),对吗?这甚至可以工作,还是会出现其他问题?
在Play 2.1应用程序中,我将如何以编程方式确定应用程序运行的模式(即开发与生产)?
例如,能够从模板内部执行此类操作会很有用:
<p>@if(__some_play_API_call__ == Dev) { <b>Development mode</b> }</p>
在Play 2.0 API文档中,似乎有一个类的mode属性...但是,我不确定如何获取当前正在运行的应用程序的实例.play.api.Application
我有一个非常古老的linux系统并安装了java和play框架.当我运行java时,我得到:
java -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
Run Code Online (Sandbox Code Playgroud)
所以我限制了application.conf中的java堆空间:
jvm.memory=-Xmx256M -Xms256M
Run Code Online (Sandbox Code Playgroud)
有了这个设置,我可以运行游戏测试,玩游戏等....
但我不能跑:
play dependencies
~ _ _
~ _ __ | | __ _ _ _| |
~ | '_ \| |/ _' | || |_|
~ | __/|_|\____|\__ (_)
~ |_| |__/
~
~ play! 1.2.1, http://www.playframework.org
~
Error occurred during initialization of VM
Could not reserve enough space for object heap …Run Code Online (Sandbox Code Playgroud) 我正在尝试建立一个特定静态文件的路由,但我正在尝试的所有内容都以错误结束.
我做了3次不同的尝试:
1.
GET /file staticFile:/public/html/file.html
Run Code Online (Sandbox Code Playgroud)
我得到的错误:
Compilation error
string matching regex `\z' expected but `:' found
Run Code Online (Sandbox Code Playgroud)
2.
GET /file controllers.Assets.at(path="/public/html", "file.html")
Run Code Online (Sandbox Code Playgroud)
我得到的错误:
Compilation error
Identifier expected
Run Code Online (Sandbox Code Playgroud)
3.
GET /file controllers.Assets.at(path="/public/html", file="file.html")
Run Code Online (Sandbox Code Playgroud)
我得到的错误:(这是最奇怪的)
Compilation error
not enough arguments for method at: (path: String, file: String)play.api.mvc.Call. Unspecified value parameter file.
Run Code Online (Sandbox Code Playgroud)
关于第3个错误的奇怪部分是它被抛出在以下行的不同文件(app/views/main.scala.html)中:
<link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/main.css")">
Run Code Online (Sandbox Code Playgroud)
所有这些方法都可以在stackoverflow上的官方文档和/或线程中找到.我在这里错过了什么?
谢谢.
我正在通过AngularJS教程.Angular使用它自己的JS路由机制来允许单页应用程序.Angular的示例路由文件如下所示:
angular.module('phonecat', []).
config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/phones', {templateUrl: '/partials/phone-list', controller: PhoneListCtrl}).
when('/phones/:phoneId', {templateUrl: 'partials/phone-detail', controller: PhoneDetailCtrl}).
otherwise({redirectTo: '/phones'});
}]);
Run Code Online (Sandbox Code Playgroud)
我试图找到一个存储我的部分(Angular特定HTML文件)的好地方.理想情况下,我喜欢在Play中模拟它们的能力(即将它们作为*.scala.html文件).我可以使用如下的播放路径文件来完成此操作:
GET /partials/phone_index controllers.Application.phone_index
Run Code Online (Sandbox Code Playgroud)
我基本上偏爱/像这样的控制器动作:
def phone_index = Action {
Ok(views.html.partials.phone_index())
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找的解决方案是两个理想的组合:
有任何想法吗?
这是Java社区对Django的回答吗?有任何经验吗?是否与其他Java Web框架进行了性能比较?
编辑:几乎与这个问题类似,答案,遗憾的是没有多说这个框架.
有时需要扩展框架.有时需要挂钩请求/响应生命周期,例如参数绑定或编写安全模块.怎么可以在playframework 1.x中完成?
我正在考虑将Play用于一个大型项目,那么,是否有任何经过实战考验的Play框架适用于OWASP Top 10?您在Play框架中是否存在任何安全问题?
我正在使用IDEA 13和Play 2.2.1,并且正在玩游戏网站上的示例.
public static Result index() {
return redirect(routes.Application.tasks());
}
Run Code Online (Sandbox Code Playgroud)
IDEA说"无法解析方法重定向(?)",红色表示routes.Application.tasks()
我从播放控制台完成了"编译"和"创意".
我有一个在Playframework上运行的应用程序,它需要对一些视频文件进行编码.我用了
Process pr = Runtime.getRuntime().exec(execCode)
Run Code Online (Sandbox Code Playgroud)
为此(它完美地工作),但由于我需要输出流和错误流,我试图使用ProcessBuilder(也建议使用).
但我无法让它工作(在MacBook上测试).Runtime方法和ProcessBuilder之间有根本区别吗?
这是我的ProcessBuilder代码(替换时完全相同的代码Runtime.getRuntime().exec())
String execCode = "/opt/local/bin/ffmpeg -i file [...]";
ProcessBuilder pb = new ProcessBuilder(execCode);
pb.redirectErrorStream(true);
pb.directory(new File("/Users/[...]/data/"));
Process pr = pb.start();
Run Code Online (Sandbox Code Playgroud)
这是控制台输出:
11:00:18,277 ERROR ~ There was a problem with with processing MediaFile[13] with error Error during coding process: Cannot run program "/opt/local/bin/ffmpeg -i /Users/[...]/data/media/1/1/test.mov [...] /Users/[...]/data/media/1/13/encoded.mp3" (in directory "/Users/[...]/data"): error=2, No such file or directory
java.lang.Exception: Error during coding process: Cannot run program "/opt/local/bin/ffmpeg -i /Users/Luuk/Documents/Java/idoms-server/data/media/1/1/test.mov -y -f mpegts -acodec libmp3lame …Run Code Online (Sandbox Code Playgroud) playframework ×10
java ×4
scala ×4
angularjs ×1
comparison ×1
django ×1
frameworks ×1
gradle ×1
maven ×1
owasp ×1
routes ×1
runtime.exec ×1
security ×1
static-files ×1