我是使用Play Framework 2.0的新手(我正在使用Scala)并对会话有疑问.
我来自Ruby on Rails背景,因此我倾向于考虑我在Play Framework中学习的关于Ruby on Rails的所有内容.
考虑到这一点,当我在视图中时,有没有办法让我调用存储在Session中的东西?
如果我在会话中存储了"hello" - >"world",我希望能够执行类似@ session.get("hello")的操作,并且能够在视图中使用"world".这可能吗?
我看到的另一个选项是将值存储在控制器中的变量中,并通过执行类似OK(var)的操作将其传递给视图,但这种方式似乎有点笨重,特别是如果我开始使用更多变量.
谢谢!
我打算将PHP升级到5.3版.我的大多数网站都在TYPO3框架上运行.其中一些在TYPO3版本4.5之前安装.是否存在旧版TYPO3和PHP 5.3的已知问题?
我找不到有关这个旧版TYPO3的系统要求的任何信息.
在TYPO3版本中.4.x我们过去通过在以下结尾添加include语句来包含用于覆盖某些设置(即DB凭据)的其他配置文件localconf.php:
@include_once('localconf_local.php');
Run Code Online (Sandbox Code Playgroud)
由于这个技巧,一个示例可以为每个开发人员单独保留单独的数据库设置或IM路径,因为我们可以忽略来自git存储库的"本地"文件.
不幸的是在TYPO3 ver.6.x该方法需要手动更改LocalConfiguration.php以覆盖return语句之前的值,在安装工具(或扩展管理器)中的每个操作之后,文件完全是原始语法(因此我们需要一次又一次地更改它). .
你有没有解决这个问题的方法?或者这只是......不可能做到的?
我正在尝试在ubuntu 11上安装play framework 2.0.1.我已经添加了在ubuntu中播放的路径,我已经配置了SUN JRE 1.6(java/javac)并且我已经为播放脚本提供了读/写/执行权限.但是,当我运行'play help'时,我仍然得到下面复制的错误 - 播放目录应该只包含'documentation','repository','framework'和'samples'子目录,或者它是否还包含其他子目录.任何有用的建议都会受到欢迎.
java.io.IOException: No such file or directory
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:900)
at xsbt.boot.Locks$.apply0(Locks.scala:34)
at xsbt.boot.Locks$.apply(Locks.scala:27)
at scala.collection.mutable.FlatHashTable$class.$init$(Proxy.scala:32)
at xsbt.boot.Launch$ScalaProvider.<init>(Launch.scala:110)
at xsbt.boot.Launch$$anonfun$1.apply(Launch.scala:84)
at org.apache.ivy.plugins.namespace.NamespaceRule.newEntry(Cache.scala:17)
at org.apache.ivy.plugins.namespace.NamespaceRule.apply(Cache.scala:12)
at xsbt.boot.Launch.getScala(Launch.scala:86)
at xsbt.boot.Launch$.run(Launch.scala:49)
at xsbt.boot.Launch$$anonfun$explicit$1.apply(Launch.scala:43)
at xsbt.boot.Launch$.launch(Launch.scala:68)
at xsbt.boot.Launch$.apply(Launch.scala:14)
at xsbt.boot.Boot$.runImpl(Boot.scala:25)
at xsbt.boot.Boot$.main(Boot.scala:15)
at xsbt.boot.Boot.main(Boot.scala)
Error during sbt execution: java.io.IOException: No such file or directory
Run Code Online (Sandbox Code Playgroud) 我想导入org.apache.commons.io但我收到此错误:
[info] Compiling 1 Java source to /home/ghost/Bureau/app/play-2.0.1/waf/target/scala-2.9.1/classes...
[error] /home/ghost/Bureau/app/play-2.0.1/waf/app/controllers/Application.java:9: error: package org.apache.commons.io does not exist
[error] import org.apache.commons.io.*;
[error] ^
[error] /home/ghost/Bureau/app/play-2.0.1/waf/app/controllers/Application.java:41: error: cannot find symbol
[error] FileUtils.copyFile(file, destinationFile);
[error] ^
[error] symbol: variable FileUtils
[error] location: class Application
[error] 2 errors
[error] {file:/home/ghost/Bureau/app/play-2.0.1/waf/}waf/compile:compile: javac returned nonzero exit code
[error] application -
Run Code Online (Sandbox Code Playgroud)
玩找不到包org.apache.commons.io.我怎样才能添加apache作为依赖?
我正在使用Play!Framework 2.0和我在这个框架中是新手.如何在白色html页面中只返回我的模型的json表示?
我正在做的是
public static void messagesJSON(){
List<Message> messages = Message.all();
renderJSON(messages);
}
Run Code Online (Sandbox Code Playgroud)
但我得到错误:无法使用返回Unit作为处理程序的方法
我正在将我的应用程序更新为play-2.0.2.
部署Akka远程actor时遇到问题:
[error] p.c.ActionInvoker - Failed to bind to: /127.0.0.1:2552
org.jboss.netty.channel.ChannelException: Failed to bind to: /127.0.0.1:2552
at org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:298) ~[netty.jar:na]
at akka.remote.netty.NettyRemoteServer.start(Server.scala:53) ~[akka-remote-2.0.2.jar:2.0.2]
at akka.remote.netty.NettyRemoteTransport.start(NettyRemoteSupport.scala:73) ~[akka-remote-2.0.2.jar:2.0.2]
at akka.remote.RemoteActorRefProvider.init(RemoteActorRefProvider.scala:95) ~[akka-remote-2.0.2.jar:2.0.2]
at akka.actor.ActorSystemImpl._start(ActorSystem.scala:568) ~[akka-actor.jar:2.0.2]
at akka.actor.ActorSystemImpl.start(ActorSystem.scala:575) ~[akka-actor.jar:2.0.2]
Caused by: java.net.BindException: Address already in use
at sun.nio.ch.Net.bind(Native Method) ~[na:1.6.0_33]
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:126) ~[na:1.6.0_33]
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59) ~[na:1.6.0_33]
at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.bind(NioServerSocketPipelineSink.java:140) ~[netty.jar:na]
at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.handleServerSocket(NioServerSocketPipelineSink.java:92) ~[netty.jar:na]
at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.eventSunk(NioServerSocketPipelineSink.java:66) ~[netty.jar:na]
[error] a.r.RouterConfig$$anon$1 - Failed to bind to: /127.0.0.1:2552
org.jboss.netty.channel.ChannelException: Failed to bind to: /127.0.0.1:2552
at org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:298) ~[netty.jar:na]
at akka.remote.netty.NettyRemoteServer.start(Server.scala:53) ~[akka-remote-2.0.2.jar:2.0.2] …Run Code Online (Sandbox Code Playgroud) 我有这个:
package models
import play.api.libs.json._
import play.api.libs.functional.syntax._
object ModelWrites {
implicit val tmoWrites= Json.writes[TestModelObject]
implicit val ihWrites = Json.writes[IntHolder]
}
case class TestModelObject(s1:String, s2:String)
case class IntHolder(i1:Int, i2:Int)
trait HasInts {
val ints: List[IntHolder]
}
Run Code Online (Sandbox Code Playgroud)
当我这样做:
scala> val tmo = new TestModelObject("hello", "world") with HasInts {
val ints = List(IntHolder(1,2), IntHolder(3,4))
}
scala> Json.toJson(tmo)
res0: play.api.libs.json.JsValue = {"s1":"hello","s2":"world"}
Run Code Online (Sandbox Code Playgroud)
我如何隐瞒序列化混合val'ints'?喜欢:
scala> val someInts = List(IntHolder(8,9), IntHolder(10,11))
someInts: List[models.IntHolder] = List(IntHolder(8,9), IntHolder(10,11))
scala> Json.toJson(someInts)
res1: play.api.libs.json.JsValue = [{"i1":8,"i2":9},{"i1":10,"i2":11}]
Run Code Online (Sandbox Code Playgroud)
注意:如果我尝试:implicit val hasIntsWrites …
我有一个使用Ebean的Play 2.1.3 Java应用程序.我收到下面的OptimisticLockException.
[OptimisticLockException: Data has changed. updated [0] rows sql[update person
set name=? where id=? and email=? and name=? and password is null and created=?
and deleted is null] bind[null]]
Run Code Online (Sandbox Code Playgroud)
我知道它试图告诉我,当我阅读它和我试图写它时,记录已经发生了变化.但唯一的变化是在这种方法中发生的.
public void updateFromForm(Map<String, String[]> form) throws Exception {
this.name = form.get("name")[0];
String password = form.get("password")[0];
if (password != null && password.length() != 0) {
String hash = Password.getSaltedHash(password);
this.password = hash;
}
this.update();
}
Run Code Online (Sandbox Code Playgroud)
我做错了吗?我在zentasks中看到了类似的逻辑.另外,我应该能够看到绑定变量的值吗?
更新:我从控制器内部调用updateFromForm():
@RequiresAuthentication(clientName = "FormClient")
public static Result updateProfile() throws Exception {
final …Run Code Online (Sandbox Code Playgroud) 我一直在尝试在play框架应用程序中将bootstrap的js和css文件添加到public/javascripts和public/stylesheets应用程序中.我不知道为什么,但我得到一个空白输出.是使用play v2.3进行bootstrap v3的正确方法吗?如果没有,那么正确的程序是什么?