Tag: playframework 2.0

Java Play! 2 – 身份validation没有意义

这是Java Play的后续内容! 2 – 使用cookie进行用户管理 来自zentask的例子 public class Secured extends Security.Authenticator { @Override public String getUsername(Context ctx) { return ctx.session().get(“email”); } @Override public Result onUnauthorized(Context ctx) { return redirect(routes.Application.login()); } // Access rights public static boolean isMemberOf(Long project) { return Project.isMember( project, Context.current().request().username() ); } public static boolean isOwnerOf(Long task) { return Task.isOwner( task, Context.current().request().username() […]

Java Play2- Akka的工作

我正在尝试使用akka在java play2中创建一个作业。 我总是得到相同的错误error: cannot find symbol 它指向system.actorOf() Intellij和Eclipse不会给我一个错误信息。 但我找不到这种方法。 我使用了以下导入 import play.libs.Akka; import akka.actor.ActorSystem; import akka.actor.ActorRef; import akka.actor.UntypedActorFactory; import akka.actor.UntypedActor; import akka.actor.Props; import akka.actor.ActorRefFactory; 也许文档过时了,他们已经删除了system.actorOf() ? public class Global extends GlobalSettings { ActorRef tickActor = system.actorOf(new Props().withCreator(new UntypedActorFactory() { public UntypedActor create() { return new UntypedActor() { public void onReceive(Object message) { if (message.equals(“Log”)) { […]

使用Heroku eclipse插件时,源文件夹不是Java项目

我已经建立了一个新项目并与Heroku联系起来: 我可以进行更改并将它们上传到我在Heroku的dyno但是当我尝试在eclipse中添加新类时,我得到**源文件夹不是Java项目**。 我错过了什么吗?

需要使用Play Framework 2.1.1和AKKA实现服务器端计时器

我的问题: 如何为拍卖实施计时器? Timer需要在服务器上运行 由于会有很多计时器,我不想在运行计时器的function上浪费大量资源。 我正在使用play framework 2.1.1和AKKA。 我可以将计时器存储在数据库中吗? 在检索时更新它?

序列化列表与json的manytoone&onetomany关系

我有课程菜单,这是一个自我与自我与多人和onetomany关系。 package models; import java.util.*; import javax.persistence.*; import play.db.ebean.*; import play.data.format.*; import play.data.validation.*; import static play.data.validation.Constraints.*; import javax.validation.*; import org.codehaus.jackson.annotate.JsonBackReference; import org.codehaus.jackson.annotate.JsonIgnore; import org.codehaus.jackson.annotate.JsonManagedReference; import com.avaje.ebean.*; import play.i18n.Messages; @Entity public class Menu extends Model { @Id @GeneratedValue(strategy = GenerationType.AUTO) public Long id; @Required @MinLength(4) @MaxLength(30) public String name; public String url; @Transient public boolean hasChild() […]

Ad-Hocvalidation未执行

我有一个名为Game的简单实体。 我想允许我的用户一次编辑多个这些实体。 因此,我需要一个包含多个Game实体的表单。 问题:当提交表单并调用hasErrors()我的Game实体中的自定义ad-hoc validate方法永远不会被调用。 仅检查由注释标记的validation,并在它们无效时产生错误。 这是Game实体: @Entity public class Game extends Model { @Id public Long id; @ManyToOne @Constraints.Required public Team team1; @ManyToOne @Constraints.Required public Team team2; //the validate method does not get called public String validate() { System.out.println(“Validating the Game Entity.”); if(team1.id == team2.id) return “You have to choose two different teams!”; return […]

通过Play Controller-Action中的#flatMap()链接Promise

我想问一下我的工作是否合适,或者是否有更好/更有效/更简单的方法。 场景: 用户使用电子邮件地址和密码登录,将路由到login() – 操作 如果用户已在数据库中并且密码已经过哈希处理,请使用DB-user进行身份validation并返回结果承诺 如果用户不在数据库中或没有密码哈希,请使用login-data执行Web服务请求并从响应中解析状态 – >返回Status -instance 检查用户的状态并返回结果承诺 码: public Promise login() { Promise userPromise = Promise.promise(() -> User.findByName(login.emailAddress)); return userPromise.flatMap(user -> { if (user != null && user.hasPassword()) { if (user.authenticate(login.password)) { return Promise.pure(ok(“login successful”))); } // password did not match return Promise.pure(unauthorized()); } // user has no password-hash stored, so […]

Play Framework 2.2.1 – 将非播放Java项目添加为子项目

我正在尝试将非播放Java项目添加为子项目。 主项目是Play Java Application,子项目与main-project位于同一目录中。 我按照这里给出的指示。 我的build.sbt看起来像 import play.Project._ name := “main-project” version := “1.0” libraryDependencies ++= Seq(javaJdbc, javaEbean) playJavaSettings lazy val mainProject = project.in(file(“.”)) .aggregate(subProject) .depends(subProject) lazy val subProject = project.in(file(“../sub-projects/sub-project-1”)) 这是我的目录结构 D: |– projects | |– main-project | |– sub-projects | | | |– sub-project-1 | | | |– sub-project-2 当我尝试编译主项目时,我收到以下错误。 [info] Loading project […]

在playframework的子模块中添加jpa / hibernate @Entity到实体管理器进行扫描

我在使用playframework中的子模块时遇到了hibernate实体的问题。 通常(在没有子模块的单个应用程序中)我使用了该代码: package models; @Entity public class AppMode { public static AppMode getCurrentConfigurationEntry() { return JPA.em().find(AppMode.class, 1L); } } 但现在我必须告诉hibernate实体管理器扫描子模块模型,因为我收到一个错误: [IllegalArgumentException: Unknown entity: AppMode] 我在子模块中的模型类是在包中: package models.common; 我已经尝试过了: return JPA.em().find(models.common.AppMode.class, 1L); return JPA.em().find(common.models.AppMode.class, 1L); 但是我得到了同样的错误: [IllegalArgumentException: Unknown entity: models.common.AppMode] 我的问题是:如何在play子项目中配置hibernate,以便在运行时将子模块类添加到classpath? 我在build.sbt文件中都使用hibernate声明了libraryDependencies。 我应该为每个模块都有persistence.xml文件/配置吗?

渲染Play框架2.0模板的一部分

我正在尝试从控制器调用渲染中的标签(函数)而不是模板。 这样我可以使用它来从ajax调用中对页面进行部分渲染。 当然,我可以在几个模板中分离表单的组件,并在那些上调用渲染,但我认为它会更清洁。 我试图做的是如下: formpage.scala.htm @() … @content … @********************************** * Helper generating form * ***********************************@ @content() = { @Messages(“employees”) @form(routes.AppController.save()) { @inputText… … } 并使用ajax渲染内容函数,而不必将其分离到单独的文件中。 这样我就可以渲染模板的一部分而不会在多个文件中将其分段。