Tag: playframework

Play Framework 2.3 – CORS标题

更新新的Play 2.5提供了一个新的CORSfilter 随着新的2.3 Java版本完成将Response类迁移到Promise类,以下代码不再有效。 public class CorsAction extends Action.Simple { public Result call(Context context) throws Throwable{ Response response = context.response(); response.setHeader(“Access-Control-Allow-Origin”, “*”); //Handle preflight requests if(context.request().method().equals(“OPTIONS”)) { response.setHeader(“Access-Control-Allow-Methods”, “POST, GET, OPTIONS, PUT, DELETE”); response.setHeader(“Access-Control-Max-Age”, “3600”); response.setHeader(“Access-Control-Allow-Headers”, “Origin, X-Requested-With, Content- Type, Accept, Authorization, X-Auth-Token”); response.setHeader(“Access-Control-Allow-Credentials”, “true”); response.setHeader(“Access-Control-Allow-Origin”, “*”); return ok() } response.setHeader(“Access-Control-Allow-Headers”,”X-Requested-With, Content-Type, X- Auth-Token”); return […]

Play Framework Routes无效

我只是想跟随Play框架的ZenTasks教程( http://www.playframework.com/documentation/2.1.0/JavaGuide4 )。 我似乎无法让登录页面工作。 我正在使用play ~run命令运行这个项目。 导航到http://localhost:9000/login出错 Action not found For request ‘GET /login’ These routes have been tried, in this order: 1 GET/controllers.Application.index() 2 GET/assets/$filecontrollers.Assets.at(path:String = “/public”, file:String)` 我的路线文件看起来像 # Routes # This file defines all application routes (Higher priority routes first) # ~~~~ # Home page GET / controllers.Application.index() # User athentication GET […]

如何在Playframework2中的i18n中使用单引号?

在使用法语应用程序(法语充满单引号)时,我需要使用单引号和许多其他强调字符的i18n。 所以这里是我的messages.fr-FR文件的摘录: some.key=C’est la vie! 这是输出: Cest la vie! 如何在邮件中使用包含单引号的字符串? 已经尝试过那些: some.key=C\’est la vie! –> C\est la vie! some.key=”C’est la vie!” –> “Cest la vie!” 编辑 :感谢KDavid提供的链接,我能够找到解决方案。 你必须加倍单引号。 C”est la vie! –> C’est la vie!

任何基于YAML的Java夹具加载器?

我已经使用过DbUnit了,但是在最近玩Play Framework后我发现它的Fixtures.load(String yamlFilename)非常有用。 任何人都知道可以与任何Java项目一起使用的类似工具吗?

play2框架我的模板没有看到。 :package views.html不存在

问题是控制器没有看到我想要使用的模板: [etl_admin] $ compile [info]将3个Scala源和4个Java源代码编译为D:\ ECLIPSE_WORKSPACES \ play2_apps \ etl_admin \ target \ scala-2.9.1 \ classes … [错误] D:\ ECLIPSE_WORKSPACES \ play2_apps \ etl_admin \ app \ controllers \ EtlWorkflowSeqNodeController.java:7:错误:包views.html.etlworkflowseqnode不存在[error] import views.html.etlworkflowseqnode.list; [错误] ^ [错误] D:\ ECLIPSE_WORKSPACES \ play2_apps \ etl_admin \ app \ controllers \ EtlWorkflowSeqNodeController.java:14:error:找不到符号 [error] list.render(EtlWorkflowSeqNode.findTree(jobId))[错误] ^ [错误]符号:变量列表[错误] location:class EtlWorkflowSeqNodeController [error] 2 […]

如何调试“找到同一个集合的两个表示”?

我已经找到了几个 关于这个的问题 ,但没有一个问题的完整解释,以及如何调试它 – 答案都是轶事。 问题是在Play 1.2.4 JPA测试中,当我save()模型时,我得到了这个exception: org.hibernate.HibernateException:找到了两个相同集合的表示:models.Position.projects 我想知道: 是否有关于此问题的文档,与Play无关? 这个问题处于hibernate状态,但很多Google上的结果都在Play应用中。 有哪些基本的最佳做法可以避免这个问题? 它是由Play引起的吗? 或者我做错了什么? 如何解决我的具体情况? 这是github上问题的再现 。 我有四个实体: @Entity public class Person extends Model { public String name; @OneToMany(cascade = CascadeType.ALL) public List positions; } @Entity public class Position extends Model { public Position(){} public Position(Company companies) { this.companies = companies; this.projects = new […]

从Java Play Framework调用Scala,它接受ClassTag

我正在尝试从Play Java类调用Scala方法,该方法将ClassTag作为参数 我失败的尝试是 Option localUser = Cache.getAs(userId.userId(), app, new ClassTag() ); API方法如下所示 Cache.getAs(String key, Application app, ClassTag ct );

无法在Play 2中使用多个ebean数据库

我们正在使用Play Framework 2.0.3建立一个稍微复杂的项目。 我们需要访问几个数据库(预先存在),并希望使用框架内置工具(即EBean)来实现。 我们尝试在“models”包中创建所有模型类,然后将每个类的FQN映射到application.conf中相应的EBean属性: ebean.firstDB=”models.ClassA,models.ClassB,models.ClassC” ebean.secondDB=”models.ClassD” ebean.thirdDB=”models.ClassE,models.ClassF” 这似乎不起作用: PersistenceException: Error with [models.SomeClass] It has not been enhanced but it’s superClass [class play.db.ebean.Model] is? (You are not allowed to mix enhancement in a single inheritance hierarchy) marker[play.db.ebean.Model] className[models.SomeClass] 我们检查并重新检查,配置正常! 然后,我们尝试为每个数据库模型类使用不同的Java包,并在application.conf中相应地映射它们: ebean.firstDB = “packageA.*” ebean.secondDB = “packageB.*” ebean.thirdDB = “packageC.*” 这在从数据库中读取信息时工作正常,但是当您尝试保存/更新对象时,我们得到: PersistenceException: The default EbeanServer has […]

Websocket在playframework 2中发送所有客户端的数据

我需要帮助来理解playframework中的WS 我的控制器中有下一个代码 public static WebSocket sockHandler() { return new WebSocket() { // Se llama para establecer el WS public void onReady(WebSocket.In in, WebSocket.Out out) { //por cada evento recivido por el socket // Se regitra una llamada para el procesamiento de los eventos in.onMessage(new Callback() { public void invoke(String event) { //Logger.info(event) System.out.println(“este es el […]

IllegalArgumentException:为TypedQuery 指定的类型与查询返回类型不兼容

我在为Generic类型创建TypedQuery时遇到了这种间歇性错误。 我的方法是: public List findByEmail(Class type, String email_id){ String query = “SELECT t FROM ” + type.getSimpleName() + ” t WHERE t.email =:”+email_id; TypedQuery typedQuery =em.createQuery(query, type); return (List) typedQuery.getResultList(); } 如果我重新启动服务器,则错误不会重新出现并正确获取结果。 play.api.Application$$anon$1: Execution exception[[IllegalArgumentException: Type specified for TypedQuery [model.User] is incompatible with query return type [class model.User]]] at play.api.Application$class.handleError(Application.scala:296) ~[play_2.11-2.3.7.jar:2.3.7] at play.api.DefaultApplication.handleError(Application.scala:402) [play_2.11-2.3.7.jar:2.3.7] at […]