Tag: playframework

为抽象类创建Read 和Write

我正在为我的Java类创建Reads和Writes以使用Play Framework的JSON库。 我的一个类有一个抽象类字段。 ConcreteObj.java public class ConcreteObj { private AbstractObj someField; public ConcreteObj(AbstractObj someField) { this.someField = someField; } public AbstractObj getSomeField() { return this.someField }; … 读写 implicit val ConcreteObjReads: Reads[ConcreteObj] = (JsPath \ “someField”).read[AbstractObj].map{x: AbstractObj => new ConcreteObj(x)} implicit val ConcreteObjWrites: Writes[ConcreteObj] = (JsPath \ “someField”).write[AbstractObj].contramap{x: ConcreteObj => x.getField} 然而,下一步,创建一个Reads[AbstractObj] ,对我来说没有意义,因为抽象类无法实例化。 我认为Writes[AbstractObj]看起来像: implicit […]

如何使用play框架项目中的相对路径访问资源文件?

我的play框架项目使用像我在资源目录下的CSV文件这样的资源文件,我直接在play project root下创建它,因此它与app,public等其他目录处于同一级别。从Java或Scala文件中我如何打开这样的文件使用相对于项目根目录的路径? 在创建war并部署应用程序时,此路径也应该有效。

播放框架和Java版本

我想知道play框架版本(我的java应用程序)与我的应用程序的java版本之间是否有任何关联? 示例:如果我使用play 2.2.1并且在我的计算机上安装了java8。 我可以在我的代码中使用java8的东西吗? 如果有连接。 什么是第一个与java8一起使用的播放版本? 谢谢你

Playframework:

我正在尝试基于Zentask示例 – zentask – playframework创建一个简单的登录,但是当我单击调用Application.authenticate操作的登录按钮时,它会给出运行时exception。 我用 – 错误标记了这一行 [RuntimeException: java.lang.reflect.InvocationTargetException] Application.java public class Application extends Controller { ……… public static class Login { public String email; public String password; public String validate() { if (User.authenticate(email, password) == null) { return “Invalid user or password”; } return null; } } public static Result authenticate() { Form […]

Play!Framework中的批量HTTP请求

我实现了当前的一组路由(例如): GET /api/:version/:entity my.controllers.~~~~~ GET /api/:version/:entity/:id my.controllers.~~~~~ POST /api/:version/:entity my.controllers.~~~~~ POST /api/:version/:entity/:id my.controllers.~~~~~ DELETE /api/:version/:entity my.controllers.~~~~~ POST /api/:version/search/:entity my.controllers.~~~~~ 而且他们工作得很漂亮。 现在让我们说我想为同一个API实现“批处理终结点”。 它应该看起来像这样: POST /api/:version/batch my.controllers.~~~~~ 身体应该是这样的: [ { “method”: “POST”, “call”: “/api/1/customer”, “body”: { “name”: “antonio”, “email”: “tonysmallhands@gmail.com” } }, { “method”: “POST”, “call”: “/api/1/customer/2”, “body”: { “name”: “mario” } }, { “method”: “GET”, “call”: […]

将Blob存储在Heroku(或类似的云服务)中

我想在Heroku中部署一个应用程序来尝试他们的新游戏! 框架支持。 对于我在网站上看到的内容(我要承认我还没有尝试过),他们没有提供任何文件系统。 这意味着(可能)Play存储文件中使用的Blob字段将无法正常工作。 有人可以: 确认您是否可以在Heroku中使用Play Blob? 提供在Heroku中存储文件的“最佳”替代方案? 最好将它们存储在数据库中(它们使用PostgreSQL)还是其他地方?

如何将某些东西注入表单中

从2.4.0开始,我们可以使用DI框架。 我想在我的应用程序中使用DI。 我将jpa finders从我的模型类中的静态方法移动到我注入到控制器中的服务层中的方法。 我的主要问题是我有一些带有validation方法的表单,在我的validation方法中,我使用了一些查找程序。 例如,在登录表单中,我使用“User.authenticate”方法。 现在我已经将这个静态方法替换为我的UserSvc上的新方法,我想将我的服务注入到我的表单中,但它不起作用。 似乎不可能在表单中注入一些内容,以便如何解决我的问题 public class MyController { // Inject here can be used in controller methods but not in the form validate method @Inject UserSvc userSvc; public static class Login { // Inject here is not filled : NPE @Inject UserSvc userSvc; public String email; public String password; public String […]

在Play Framework 2.0中路由重载函数

在Play中,当重载控制器方法时,那些单独的方法不能被多次路由,因为编译器不喜欢它。 有没有办法解决这个问题? 假设我的Product控制器中有两个函数: getBy(String name)和getBy(long id) 。 我在路由中声明了这些函数的两个不同routes : GET /p/:id controllers.Product.getBy(id: Long) GET /p/:name controllers.Product.getBy(name: String) 我想对不同的路线使用“相同”function,这可能吗?

在playframework中上传多个文件

我在使多个文件上传工作时遇到了一些问题。 当我选择x文件时,它会成功通过,但第一个文件正在上传x次,而其他文件根本没有上传。 谁能指出我做错了什么? 形成: #{form @Projects.uploadPictures(project.id), enctype:’multipart/form-data’} &{‘title’} (&{‘addPicture.chooseTitle’}) &{‘Pictures’} #{/form} 处理文件: public static void uploadPictures(long id, String title, List files) { String error = “”; if(files != null && !title.trim().equals(“”)) { Project project = Project.findById(id); // Save uploaded files Picture picture; for(int i = 0; i<files.size(); i++) { if(files.get(i) != null) { System.out.println("i: "+i+"\nFiltype: […]

图书馆将Facebook登录与Play Framework集成?

我正在学习使用Play Framework并为它做一个演示应用程序。 对于这个应用程序,我还想与Facebook API集成,允许用户使用Facebook ID登录。 知道Play是一个无状态框架及其工作方式,建议使用一些库或模块吗? 我找不到任何东西,但我要求以防万一。