Questions tagged «playframework»

Play Framework是适用于Java和Scala的现代开源Web框架。

7
了解Scala中的隐式
我正在通过Scala Playframework教程学习,遇到了这个让我感到困惑的代码片段: def newTask = Action { implicit request => taskForm.bindFromRequest.fold( errors => BadRequest(views.html.index(Task.all(), errors)), label => { Task.create(label) Redirect(routes.Application.tasks()) } ) } 因此,我决定进行调查,并发现了这篇文章。 我还是不明白。 这有什么区别: implicit def double2Int(d : Double) : Int = d.toInt 和 def double2IntNonImplicit(d : Double) : Int = d.toInt 除了显而易见的事实,它们具有不同的方法名称。 我implicit什么时候应该使用,为什么?

21
执行“运行”命令时,如何更改Play使用的默认端口(9000)?
在Play控制台上发出“运行”命令时,如何更改开发框架在开发模式下使用的默认端口。 这适用于playframework 2.0 beta。 在命令行上或在application.conf中使用http.port配置参数似乎无效: C:\dev\prototype\activiti-preso>play run --http.port=8080 [info] Loading project definition from C:\dev\prototype\activiti-preso\project [info] Set current project to activiti-preso (in build file:/C:/dev/prototype/activiti-preso/) Windows, really? Ok, disabling colors. --- (Running the application from SBT, auto-reloading is enabled) --- [error] org.jboss.netty.channel.ChannelException: Failed to bind to: 0.0.0.0/0.0.0.0:9000 [error] Use 'last' for the …

17
错误:参数不是函数,未定义
在Scala Play中使用AngularJS时,出现此错误。 错误:参数“ MainCtrl”不是函数,未定义 我正在尝试创建包含一周中各天的表格。 请看一下我的代码。我检查了控制器的名称,但这似乎是正确的。注意:此SO 答案中使用的代码 index.scala.html @(message: String) @main("inTime") { <!doctype html> <html lang="en" ng-app> <head> <link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/main.css")"> </head> <div ng-controller="MainCtrl"> <table border="1"> <tbody ng-repeat='(what,items) in data'> <tr ng-repeat='item in items'> <td ngm-if="$first" rowspan="{{items.length}}">{{what}}</td> <td>{{item}}</td> </tr> </tbody> </table> </div> </html> } MainCtrl.js (function() { angular.module('[myApp]', []).controller('MainCtrl', …

6
休息愉快!构架
我们正在计划一个主要为移动应用程序提供内容的项目,但需要有一个网站。 我的问题是,使用Jersey或Restlet为我们的移动应用程序开发REST API,然后使用Play有意义吗?服务网站。 还是只使用Play才有意义?做这一切?如果是这样,如何使用Play做REST!框架?


1
建议部署War文件与带有嵌入式容器的可执行jar
在Java空间中,当前趋势是从以war文件(或ear文件)的形式从将Java Web应用程序部署到Java Servlet容器(或应用程序服务器)转移,而不是将应用程序打包为具有嵌入式servlet / HTTP服务器(如码头)。我的意思是,更新颖的框架影响着新应用程序的开发和部署方式,而不是将应用程序交付给最终用户的方式(例如,我明白了为什么Jenkins使用嵌入式容器,非常容易抓取和使用) )。采用可执行jar选项的框架示例: Dropwizard,Spring Boot和Play (它不是在servlet容器上运行,而是嵌入了HTTP服务器)。 我的问题是,在一个我们已经将我们的应用程序(到目前为止主要是Struts2)部署到单个tomcat应用程序服务器的环境中,如果我们计划使用嵌入式容器方法,则需要进行哪些更改,最佳实践或注意事项? ?当前,我们在单个tomcat服务器上运行大约10个本地应用程序,对于这些较小的应用程序,共享资源并在一台服务器上进行管理的能力非常好。我们的应用程序并非旨在分发给最终用户以在其环境中运行。但是,如果我们决定使用更新的Java框架,那么这种方法是否应该改变?越来越多地使用云部署(例如Heroku)是否会促使向可执行jar的转变? 如果您曾经在单一应用程序服务器上以Play部署方式管理传统的War File部署中的多个应用程序,那么请分享您的见解。

14
玩!框架使用静态的<lot>
Waaah,戏剧!框架有很多静态方法。我在哪里上学,我们被告知从来没有使用任何静态的,但玩!像没有明天一样使用它。可以吗?如果是这样,为什么? 我们(和我7个人)正计划使用Play!涉及Web应用程序的项目的框架。我们决定通过Play做到这一点!因为这样做看起来很有趣,所以我们所有人都已经知道Java,并且分配工作非常困难,因此我们希望专注于实际分配,而不是学习如何使用其他语言进行编程。 但是,总是告诉我们,永远不要在我们开发的任何Java程序中使用“静态”,但是当我看Play时!...嗯...大约一半的方法是静态的。&lt;/ exaggeration&gt; 我想至少可以使用单例对象(例如使用Scala,例如^^)来对我们的项目进行编程,但是我非常担心框架本身实际上有多少个静态变量。 那么,我应该对此予以关注吗?玩的方式!开发人员对其进行了编程,以使所有这些静态变量都不会造成问题? (例如,该线程对为什么不惜一切代价避免使用静态成员的做法感到愤慨。)

1
在Play 2.3.x应用中使用sbt-rjs从WebJars优化JS
是否可以通过WebJars在我的应用程序中包含一个Play 2.3应用程序连接/优化JS(使用sbt-rjs)?举一个具体的例子:我正在尝试创建一个core.js模块,其中包含所有我的第3方库,这些库在一个文件中串联并缩小了,然后可以指定为其他AMD模块的依赖项。最好通过WebJars包含这些库,而不是“手动”下载源。 这是我的build.sbt文件中的一个片段,我在其中指定了我的webjar依赖项: // Webjars libraryDependencies ++= Seq( "org.webjars" % "requirejs" % "2.1.15", "org.webjars" % "underscorejs" % "1.7.0", "org.webjars" % "jquery" % "1.11.1", "org.webjars" % "bootstrap" % "3.3.1" exclude("org.webjars", "jquery"), "org.webjars" % "angularjs" % "1.3.4-1" exclude("org.webjars", "jquery") ) 这是我的requireJS构建配置 requirejs.config({ baseUrl: '/assets/javascripts', shim: { 'jsRoutes': { deps: [], exports: 'jsRoutes' …

6
如何在Play框架中处理可选查询参数
可以说我在Scala中有一个已经运行的基于Play 2.0框架的应用程序,该应用程序提供URL,例如: http:// localhost:9000 /生日 它以所有已知生日的列表作为响应 我现在想通过添加使用可选的“ from”(日期)和“ to”请求参数来限制结果的功能来增强此功能,例如 http:// localhost:9000 / birthdays?from = 20120131&to = 20120229 (此处的日期解释为yyyyMMdd) 我的问题是如何使用Scala在Play 2.0中处理请求参数的绑定和解释,特别是考虑到这两个参数都应该是可选的。 这些参数是否应在“路线”规范中以某种方式表达?或者,响应的Controller方法是否应该以某种方式从请求对象中分离参数?还有另一种方法吗?

1
将类型与数据构造函数相关联的ADT编码有什么问题?(例如Scala。)
在Scala中,代数数据类型被编码为sealed一级类型层次结构。例: -- Haskell data Positioning a = Append | AppendIf (a -&gt; Bool) | Explicit ([a] -&gt; [a]) // Scala sealed trait Positioning[A] case object Append extends Positioning[Nothing] case class AppendIf[A](condition: A =&gt; Boolean) extends Positioning[A] case class Explicit[A](f: Seq[A] =&gt; Seq[A]) extends Positioning[A] 随着case classES和case objectS,斯卡拉产生了一堆东西一样equals,hashCode,unapply(通过模式匹配使用)等这使我们许多关键特性和传统的ADT功能。 但是,有一个关键的区别–在Scala中,“数据构造函数”具有自己的类型。比较以下两个示例(从相应的REPL复制)。 // Scala …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.