哇,玩!框架有很多静态方法.在我上学的地方,我们被告知永远不会使用任何静力学,但玩!使用它就像没有明天一样.那是不是很好?如果是这样,为什么?
我们(7个人和我)正计划使用Play!涉及Web应用程序的项目框架.我们决定玩Play!因为它看起来很有趣,我们所有人都已经知道Java并且任务很难,所以我们想要专注于实际的任务,而不是学习如何用不同的语言编程.
我们总是说,但是,永远不要用"静在我们开发的任何Java程序,但是当我看着玩!......好吧......大约一半的方法都是静态的.</夸张>
我想,至少,我们可以使用单例对象(通过使用Scala,例如^^)来编程我们的项目,但我非常担心框架本身实际上有多少静态.
那么,我应该关注这个吗?玩的方式!开发人员编程使它成为所有这些静态不会造成问题的?
(例如,这个主题有一个关于为什么要不惜一切代价避免静态成员的咆哮.)
我想为PATH的安装添加值":/ home/me/play /"
!框架.
所以我运行了这个命令:
PATH=$PATH:/home/me/play
Run Code Online (Sandbox Code Playgroud)
有效.但是在我下次检查时,价值又变回了原来的价值.
所以我猜我没有"保存"新值,对吗?
你是怎样做的?
我有一个角度JS应用程序,它有一些来自数组的图像.
我的模型看起来像这样
$scope.images = [ {url: 'someimage.png', desc: 'some desc'}, {url: 'someimage.png', desc: 'some desc'} ]
Run Code Online (Sandbox Code Playgroud)
在我看来,我迭代这个,以显示所有图像.
<ul>
<li ng-repeat="image in images" ><img src="{{image.url}}" /></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
这有效,但我得到了一些页面错误
404 Not Found - http://localhost/{{image.url}}
Run Code Online (Sandbox Code Playgroud)
图像正确显示,因此很明显,在Angular解析为文档之前,图像正在尝试加载.我的脚本也在头脑中,所以它不应该是一个javascript排序错误.
在Playframework 2.0中,发送电子邮件似乎并不那么简单(请参阅Play 1.x中有关在Play Framework中使用sendmail作为SMTP服务器的评论).没有开箱即用的邮件程序功能......所以,我该如何发送电子邮件?
我正在读一本书,有一些例子只有花括号的程序
例如
public static void main(String args[]){
//what is the uses of curly braces here.
{
//some code
}
}
Run Code Online (Sandbox Code Playgroud) 昨天我看到公告从锡兰队已经公开发布的第一个里程碑版本.从我所看到的,它看起来很有趣.
从查看锡兰的信息来看,它的目的似乎与Scala的目的基本相符......
锡兰深受Java的影响.你看,我们是Java的粉丝,但我们知道它的局限性.Ceylon保留了Java的最佳位置,但改进了我们的体验令人讨厌,乏味,令人沮丧,难以理解或出错的东西.
所以,在一个坚果中,Ceylon和Scala似乎在说(在我的解释中)我们喜欢Java,但是有烦恼,所以我们希望建立在Java之上以使生活更美好.
但是,我想要知道的是,为什么创建了Yet-Another-Java-Killer,因为有些人已经向锡兰收费,而Scala已经存在?是什么让锡兰与Scala分开?
注意:请不要"我喜欢X over Y",我希望客观地了解Ceylon为开发社区提供的服务.
我发现play2的anorm的行解析器依赖于jdbc驱动程序返回的元数据.
所以在play提供的内置示例"zentasks"中,我可以找到这样的代码:
object Project {
val simple = {
get[Pk[Long]]("project.id") ~
get[String]("project.folder") ~
get[String]("project.name") map {
case id~folder~name => Project(id, folder, name)
}
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,这些字段都有project.前缀.
它适用于h2数据库,但不适用于postgresql.如果我使用portgresql,我应该把它写成:
object Project {
val simple = {
get[Pk[Long]]("id") ~
get[String]("folder") ~
get[String]("name") map {
case id~folder~name => Project(id, folder, name)
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在Play的谷歌小组中问过这个问题,Guillaume Bort说:
是的,如果你使用postgres它可能是原因.postgresql jdbc驱动程序已损坏,并且不返回表名.
如果postgresql的jdbc驱动程序确实有这个问题,我认为anorm会有一个问题:
如果两个表有相同名称的字段,并且我查询它们join,anorm将无法获得正确的值,因为它不能找出哪个名称属于哪个表.
所以我写了一个测试.
create table a (
id text not null primary key,
name text not …Run Code Online (Sandbox Code Playgroud) 我对WebSockets的前景感到非常兴奋.由于我过去已经构建了一些基于桌面插槽的游戏和Web游戏,所以我热衷于将这两种方法结合起来构建基于Web的多人游戏而不需要长时间的轮询黑客攻击.
由于安全问题导致Firefox和Opera禁用了websockets的消息(见此处),是不是将来WebSockets的终结?
如果WebSockets确实已经死亡(或在可预见的未来推迟),除了Long Polling之外还有其他选择吗?
我希望在我的一个Web应用程序上添加单点登录(SSO).我现在不想要任何重量,我只想知道登录用户的userId,而不需要他们输入用户名.
Web应用程序是一个内部应用程序,因此我可以保证它们来自Windows PC等.
我已经查看了jCIFS,但这似乎不再受支持,并推荐商业产品.
我也看过WAFFLE,但我正在为一个playframework应用程序构建SSO,它不使用Servlet堆栈,因此我无法使用SecurityFilter.我试图理解WindowsLoginModule,但无法真正理解我必须做些什么才能实现它.
是否可以从HTTP标头中获取用户名,或者在发布标头之前是否需要先进行协商?
如何使用play开发webservice?
我在官方网站上找不到任何文件.