我遇到麻烦的是这两个看似强大的框架的结合.似乎大多数可以通过1完成的事情可以通过2.如何最好地利用这两个?有没有任何思维模式?拿一个CRUD应用程序的基本示例 - 我可以写一个路由mysite/listnames,它映射到一个正在运行的控制器!这将呈现一个带有代码的模板 -
@(names:List[String])
@main("Welcome") {
@for( name <- names ){
<p> Hello, @name </p>
}
Run Code Online (Sandbox Code Playgroud)
请注意,main是典型的自举模板.但是现在这个产生的输出似乎对Angular没有用,如果我想添加一个输入框来过滤这些名称,或者我想对它们做任何事情.什么是典型的处理方式?基本的东西似乎是 -
1)如何传递在通过Play渲染模板后到达的数据到角度以供以后在客户端使用.
2)是否建议将这两个框架一起用于涉及面向数学对象的后端+服务器的大型应用程序,以及前端相当密集的UI?
使用Scala 2.11,我们可以在一个案例类中拥有超过22个字段吗?
case class SomeResponse(
var compositeKey: String,
var id1: String,
var id2: String,
var firstName: String,
var lastName: String,
var email: String,
var email2: String,
var birth: Long,
var gender: String,
var phone: Phone,
var city: String,
var zip: String,
var carriage: Boolean,
var carriage2: Boolean,
var fooLong: Long,
var fooLong2: Long,
var suspended: Boolean,
var foo: Foo,
var address: String,
var suite: String,
var state: String,
var instructions: String)
implicit val formatSomeResponse = Json.format[SomeResponse]
Run Code Online (Sandbox Code Playgroud)
以上是一个案例类,其中有正好22个字段与play-json格式,现在当我编译时,我得到这个错误:
SomeFile.scala:126: value apply …Run Code Online (Sandbox Code Playgroud) 我有一个使用数据库的Play应用程序,出于调试目的,我想显示JPA使用的SQL.我怎样才能做到这一点?
我正在尝试绘制Play框架如何支持转义.
这是一个很好的页面,列出了所需的功能:https: //www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet
因此,我试图将其与Play模板功能联系起来,并充分了解Play的功能和不执行功能.
${}或escape()函数escapeJavaScript() http://www.playframework.org/documentation/1.2/javaextensions另一个困惑点是支持index.json(即使用模板来构建JSON而不是HTML).是否${}神奇地切换到JSON文档中的JavaScript转义,或者它是否仍然转义HTML,因此JSON模板中的所有内容都必须具有显式escapeJavaScript()?
http://www.playframework.org/documentation/1.2/javaextensions上还有一个addSlashes(),但对于我能想到的任何情况,它似乎都不太合适.(?)
如果有一个关于如何在Play中进行所有转义的全面指导,那将是很棒的.在我看来,在几种情况下答案是"滚动你自己",但也许我错过了所包含的内容.
我刚刚开始学习Play 2.0 Framework.我无法理解的一件事是游戏教程中描述的Iteratee,Enumerator和Enumeratee模式.我对函数式语言的经验很少.
这种模式有什么作用?
它如何帮助我编写非阻塞/反应代码?
一些简单的例子会有帮助.
默认情况下Logger,在应用程序运行时可见的所有输出在测试应用程序时都是静音的.
如何强制在specs2报告中显示调试,信息等?
我知道有版本冲突.只想让别人告诉我如何解决它.在之前的stackoverflow帖子中没有人告诉解决方案.
版本:Ubuntu:12.04.1 LTS java:1.6.0_24(OpenJDK)javac:1.7.0_07(OpenJDK)
haider@haider-desktop:~/Documents/projects/java-projects/mytestapp$ play
[info] Loading project definition from /home/haider/Documents/projects/java-projects/mytestapp/project
[info] Set current project to mytestapp (in build file:/home/haider/Documents/projects/java-projects/mytestapp/)
_ _
_ __ | | __ _ _ _| |
| '_ \| |/ _' | || |_|
| __/|_|\____|\__ (_)
|_| |__/
play! 2.0.4, http://www.playframework.org
> Type "help play" or "license" for more information.
> Type "exit" or use Ctrl+D to leave this console.
[mytestapp] $ run
--- (Running the application from SBT, auto-reloading is enabled) --- …Run Code Online (Sandbox Code Playgroud) 已经问了类似的问题,但删除了它,因为我认为我修好了,但我错了.
我在我的一个Web项目中使用Play框架.Play不会呈现主页或不返回某些静态内容文件.
第一个屏幕截图显示了firebug控制台,当服务主页时,网站的加载停留在开头.
第二个屏幕截图显示fiddler控制台,当2个静态资源未加载时.

最初应用程序运行正常,它必须工作5-7天,我可以看到这个问题.它很难重现,它发生在15次中,我必须删除缓存数据并重新加载页面.(在FF中按CRTL-F5).问题可以在不同机器和操作系统的大多数浏览器中重现.最初,我认为托管服务提供商存在一些问题.但我已经改变了它,问题还没有消失.
该剧的版本是1.2.5.尝试了1.2.2.Play在CentOS-5-32位上作为独立服务器运行.
我怀疑,NettyPlay框架使用了一些问题.Play使用Netty 3.5.7最终jar.
cd /proc/28761/fd
ls -l | wc -l
337
Run Code Online (Sandbox Code Playgroud)
几天打开的文件描述符的数量从140增加到350.注意,开头和后面的网站平均负载是相同的.
我可以看到很多进程打开的套接字,以后不会发布.
lrwx------ 1 root root 64 Nov 11 10:34 300 -> socket:[1079566]
lrwx------ 1 root root 64 Nov 11 10:34 301 -> socket:[1079568]
lrwx------ 1 root root 64 Nov 11 10:34 302 -> socket:[1149958]
lrwx------ 1 root root 64 Nov 11 10:34 303 -> socket:[1160807]
lrwx------ 1 root root 64 Nov 11 10:34 304 -> socket:[1160605]
lrwx------ 1 root root 64 …Run Code Online (Sandbox Code Playgroud) 我正在编写一个具有一些ACL要求的Web应用程序:用户可以更改某些项目,某些项目可以由多个用户编辑,管理员可以编辑任何内容,管理员可以编辑组织内的所有内容等.
我正在使用Play!框架,以及Secure模块的外观,似乎放置授权问题的地方在控制器中.但是,在我看来,授权问题是业务逻辑的一部分,因此应该在模型中.此外,我开始看到控制器中需要重构的重复逻辑.
另一方面,向模型添加授权意味着我必须有一些方法从模型中获取当前用户,这似乎不对.或者,我可以为每个模型方法添加"current_user"参数,但这看起来更糟.
那么常见的做法是什么?可以/应该将授权代码放在模型中,还是将其保存在控制器中?
我正在使用HiknateCp,Hibernate和我在java中的playframework应用程序.在几分钟的空闲状态之后,似乎播放应用程序死了,当它获得新请求时它再次启动.有时我也看到Db持久性错误,其中sessionfactory不可用,我认为这是此问题的副作用.为什么应用程序在空闲状态下死机,我可以将它配置为不这样做吗?
在几分钟的空闲时间内,每次新请求后,我都会得到以下日志 -
[info] application - Application shutdown...
[info] application - Stopping HikariCP connection pool...
[info] application - Starting HikariCP connection pool...
Run Code Online (Sandbox Code Playgroud)
Persistence.xml: -
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="defaultPersistenceUnit" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hibernate.use_sql_comments" value="true"/>
<property name="hibernate.logSql" value="true"/>
<property name="hibernate.connection.provider_class" value="com.zaxxer.hikari.hibernate.HikariConnectionProvider"/>
<property name="hibernate.hikari.dataSourceClassName" value="com.impossibl.postgres.jdbc.PGDataSource"/>
</properties>
</persistence-unit>
</persistence>
Run Code Online (Sandbox Code Playgroud)
Application.conf: -
# JPA configuration
# ~~~~~
# You can declare as many Ebean servers as you want.
# By convention, …Run Code Online (Sandbox Code Playgroud)