Tag: playframework

Play Framework是否支持“代码段”?

如果我想在多个页面上有一个共同的UI,例如菜单,建议的方法是什么? 它将包含模板代码和后端控制器(类似于LiftWeb框架中的“片段”)。 我知道Play有一个菜单模块,但我对如何实现这一目标更感兴趣。

播放框架附加#_ = _以通过OAuth2在Facebook认证后重定向?

在使用Play Framework调用OAuth2 :: retrieveAccessToken()后,我正在进行简单的重定向。 我有一些有趣的字符附加到我从未放在那里的URL,所以最终结果如下: HTTP://本地主机:9000 /#_ = _ #_ = _来自哪里呢? 这是路由文件中的路由定义: GET / Application.index 这是控制器处理Facebook身份validation的代码片段: public static void facebookConnect() { OAuth2 facebook = new OAuth2( “https://graph.facebook.com/oauth/authorize”, “https://graph.facebook.com/oauth/access_token”, “2#############6”, “c##############################2” ); if(OAuth2.isCodeResponse()) { OAuth2.Response oauthResponse = facebook.retrieveAccessToken(facebookAuthUrl()); if(oauthResponse.error == null) { //… Somewhere here, something is causing #_=_ to be appended to the URL? […]

为Play编写自定义filter! 2.2用Java

我有一个简单的场景:自动为每个HTTP响应添加一个响应头; 我想用Java做到这一点。 查看src/play-filters-helpers/src/main/java/play/filters/* ,有一些可以作为注释应用的动作示例。 我想避免将@AddMyHeader添加到每个处理程序。 特别是在src/play-filters-helpers/src/main/scala/play/filters/*和GzipFilter查看Scalafilter ,我看到了一个明确的机制,但是我对Scala不太熟悉,无法推断Java。 那么:我从哪里开始?

Playframework JSR-303validation的“字段”没有相应的数据绑定访问器

当我将以下代码添加到我的项目中时 Form filledForm2 = userSignupForm.bindFromRequest(); 它已停止工作,显示一条错误消息,指出: Execution exception [IllegalStateException: JSR-303 validated property ‘Password’ does not have a corresponding accessor for data binding – check your DataBinder’s configuration (bean property versus direct field access)] 我的User类是这样的: class User{ String username; String Password; } 现在如何在java play框架中检查/修改DataBinder的配置?

玩! 框架:在模板中定义变量?

我将模板传递给Event对象,我需要做的是检查@event.getSeverity值。 如果值为正,我想以绿色为特定的 着色。 如果值为负,我想用红色为特定的 着色。 我找不到定义变量的方法。 可能吗? 应该是我想的。 无论如何,实现这一目标的最简单方法是什么? 谢谢

如何在生产中处理Play Framework 2数据库演变

似乎每当我更改模型时,Play Framework都会要求我运行一个删除整个模式并重新创建它的脚本。 显然这不适用于生产,那么在生产中处理这个问题的正确方法是什么? 注意,我正在使用ebean和Postgres,并在heroku上托管。

每个Play框架Web请求是否使用新的dependency injection控制器实例进行处理,但那么静态控制器方法呢?

我的问题是关于Play框架中Java控制器的生命周期,如果控制器是有状态实例或静态方法无状态,以及如何在控制器代码中使用dependency injection。 每个Web请求是否由Play控制器类的新实例处理,即控制器是否可以在诸如注入控制器构造函数的服务等字段中存储状态? (在文档中的位置解释了吗?) 自早期版本(如果是,在什么版本?)Play框架是否已更改,关于控制器是有状态实例还是静态方法的无状态控制器? 在哪里可以看到有关在使用有状态控制器时框架如何将服务注入控制器实例的代码示例以及如何将服务注入静态控制器方法的示例? 关于后者,即注入静态方法,我认为要么必须是框架将添加的方法的参数,要么如果不可能,您可能必须使用方法中的服务定位器,例如实例化Guice模块类然后从静态控制器方法中使用“injector.getInstance”。 在以下页面的“dependency injection控制器”部分中可以了解该主题: https://www.playframework.com/documentation/2.4.x/JavaDependencyInjection 但是,它没有用代码显示如何将服务实际注入到控制器实例中(但可能与其他“组件”相同,即使用@Inject注释)当然它当前没有显示如何使用静态控制器方法的DI 。 我对这些事情感到困惑,因为我没有发现文档清楚我的问题,而且我还在Play书(从2013年)中读到控制器方法应该被编程为无状态,控制器方法应该是静态的。 但是,当现在使用激活器生成具有最新Play版本(2.4.6)的Java Play应用程序时,我可以看到生成的Controller方法(Application.index)不是静态的。 此外,在以下文档页面中,控制器方法不是静态的: https : //www.playframework.com/documentation/2.4.x/JavaActions 这是令人困惑的,因为了解每个请求是否由Controller实例处理是非常基础的(即,如果可以使用状态)我认为这应该在关于控制器/动作的页面上比当前更好地记录。文档(上面链接的页面)没有解释它。 有关dependency injection的文档在“dependency injection控制器”部分提到“静态路由生成器”时涉及静态和非静态方法的主题,但我认为应该更好地解释包括代码示例。 如果Play团队中有人正在阅读此问题,那么请在上面的链接页面中添加一些信息,例如请提及(如果我的理解是正确的)在以前版本的Play中控制器方法是静态的,对于那些版本你永远不应该在字段中存储状态,但是在更高版本中(从版本x开始?),每个请求都由控制器的实例处理,因此可以使用状态(例如框架注入的构造函数参数)。 还请提供有关静态控制器方法使用的注入和注入有状态控制器实例的代码示例,每个请求只有一个实例。 dependency injection页面中的“组件生命周期”部分仅提到“组件”,但我认为它也应该明确控制器生命周期及其注入,因为它是一种基本且重要的知识,可以清楚地向所有开发人员进行通信以避免错误由于对有状态与否的误解而引起的。

ProcessBuilder在Mac上提供“没有这样的文件或目录”,而Runtime()。exec()工作正常

我有一个在Playframework上运行的应用程序,它需要对一些video文件进行编码。 我用了 Process pr = Runtime.getRuntime().exec(execCode) 为此(它完美地工作),但由于我需要输出流和错误流,我试图使用ProcessBuilder(也建议使用)。 但我无法让它工作(在MacBook上测试)。 Runtime方法和ProcessBuilder之间有根本区别吗? 这是我的ProcessBuilder代码(完全相同的代码在被Runtime.getRuntime().exec()替换时有效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(); 这是控制台输出: 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 […] […]

Play Framework 1.2:如何添加自定义模块依赖项

我在迁移到Play 1.2时有点迷失。 我们的应用程序中有一组自定义模块。 在Play 1.1.1中,我们使用了这种结构: /root/ /module1 /module2 … /moduleN /main app application.conf将模块引用为相对路径(../ module1) 我怎么能在Play 1.2中做同样的事情? 我看到我应该使用dependencies.yml文件,但在官方文档中找不到关于此主题的任何信息。 提前致谢 编辑:谷歌集团有很多混合信息,但这篇文章解决了这些问题。 我在这里复制它,以便为在SO中搜索此问题的人提供未来参考: 好的,使用master中的最新版本,这里需要带有注释内联的dependencies.yml: # Application dependencies # Notes: # play is an alias for play -> play $currentVersion # play -> crud is an alias for play -> crud $currentVersion # play -> secure is an alias […]