我是Scala的新手,玩2.1,我来自PHP背景.我无法@
在HTML中打印符号.我收到以下错误:
找不到:值Hotmail
这是我的代码:
myname<label>@Hotmail.com</label>
Run Code Online (Sandbox Code Playgroud)
请让我知道如何打印@
符号.
提前致谢.
scala playframework scala-2.10 scala-template playframework-2.2
从Play 2.0.4迁移到Play 2.2.0后,在Heroku上部署时出现此错误:
Oct 15 13:23:12 heroku/web.1: Starting process with command `target/universal/stage/bin/demagog -Dhttp.port=${PORT} ${JAVA_OPTS} -Dconfig.resource=${DEMAGOG_ENVIRONMENT}.conf`
Oct 15 13:23:13 app/web.1: Picked up JAVA_TOOL_OPTIONS: -Djava.net.preferIPv4Stack=true -Djava.rmi.server.useCodebaseOnly=true
Oct 15 13:23:13 app/web.1: Bad application path: -Xmx384m
Oct 15 13:23:15 heroku/web.1: State changed from starting to crashed
Oct 15 13:23:15 heroku/web.1: Process exited with status 0
Oct 15 13:24:37 heroku/web.1: Starting process with command `target/universal/stage/bin/demagog -Dhttp.port=${PORT} -Dconfig.resource=${DEMAGOG_ENVIRONMENT}.conf`
Oct 15 13:24:37 app/web.1: Picked up JAVA_TOOL_OPTIONS: -Djava.net.preferIPv4Stack=true -Djava.rmi.server.useCodebaseOnly=true
Oct 15 13:24:37 app/web.1: Play server process ID is …
Run Code Online (Sandbox Code Playgroud) 我有一个Play 2.2.1应用程序,它使用play-slick 0.5.0.8将数据持久保存到Postgresql后端,而SecureSocial 2.1.2则用于处理用户授权.
由于播放光滑的事务是阻塞的,我slick-context
在我的/conf/application.conf
文件中创建了一个单独的执行上下文,根据插件的Wiki中的说明:
play {
akka {
actor {
slick-context = {
fork-join-executor {
parallelism-min = 300
parallelism-max = 300
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这允许我创建一个在单独的执行上下文中运行的控制器Action,并且不会阻止默认线程池中的线程.例如./app/controllers/Application.scala
:
示例一 - 使用play-slick的DBAction:
import play.api.db.slick._
object Application extends Controller{
// this controller Action won't block threads in the default pool since DBAction uses my separate slick-context execution context
def recipes = DBAction { implicit rs =>
val recipes = Query(Recipes).list …
Run Code Online (Sandbox Code Playgroud) scala playframework securesocial play-slick playframework-2.2
可以说我有这些表:
ORDER: id ITEM: id ORDER_ITEM: order_id, item_id
表:ORDER_ITEM
是ORDER
和之间的桥表ITEM
.
我如何描述这三人组Ebean
?
我宁愿不使用原始SQL,以便我仍然可以创建和更新这些实体.
更新于 11月9日星期六02:32:40 UTC 2013
好吧,让我们更难以解决这个问题,更能代表我的实际情况.列名称不符合约定:
ORDER: order_number ITEM: item_number ORDER_ITEM: my_order, my_item
我想试试Deadbolt.在新的Play Framework 2.2.1上安装它的步骤是什么?我发现是解析器和依赖关系 在这里.但是我必须把解析器放在哪里?我不想使用Build.scala
(在Play 2.2中build.sbt
)
而这里是关于线上插件.去哪儿了?在我的项目中,没有plugins.sbt
也不知道Play 2.2是否更喜欢把它放在其他地方.
编辑:
plugin.sbt
resolvers ++= Seq(
"Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/",
Resolver.url("Objectify Play Repository", url("http://schaloner.github.io/releases/"))(Resolver.ivyStylePatterns),
Resolver.url("Objectify Play Snapshot Repository", url("http://schaloner.github.io/snapshots/"))(Resolver.ivyStylePatterns)
)
Run Code Online (Sandbox Code Playgroud)
build.sbt
libraryDependencies ++= Seq(
javaJdbc,
javaEbean,
cache,
"mysql" % "mysql-connector-java" % "5.1.27",
"org.apache.commons" % "commons-email" % "1.3.1",
"be.objectify" %% "deadbolt-java" % "2.2-RC2"
)
Run Code Online (Sandbox Code Playgroud)
播放控制台错误:
[info] Resolving org.hibernate.javax.persistence#hibernate-jpa-2.0-api;1.0.1.Fin[info] Resolving be.objectify#deadbolt-java_2.10;2.2-RC2 ...
[warn] module not found: be.objectify#deadbolt-java_2.10;2.2-RC2
[warn] ==== local: tried …
Run Code Online (Sandbox Code Playgroud) 按此处所述运行测试
"Spec" should {
"example" in new WithApplication {
...
}
}
Run Code Online (Sandbox Code Playgroud)
对我来说慢得令人无法接受.这是因为新的WithApplication在每个示例中都在启动和停止框架.不要误解我的意思,框架本身加载速度非常快,但如果数据库配置好了(惊喜!),情况会变得很糟糕.
以下是一些测量:
"The database layer" should {
"test1" in {
1 must be equalTo(1)
}
...
"test20" in {
1 must be equalTo(1)
}
}
Run Code Online (Sandbox Code Playgroud)
执行时间:2秒.在每个示例中使用WithApplication的相同测试消耗9秒
由于这个答案,我能够取得更好的结果
import play.api.Play
import play.api.test.FakeApplication
import org.specs2.mutable.Specification
import scalikejdbc._
class MySpec extends Specification {
var fake: FakeApplication = _
step {fake = FakeApplication(...)}
step {Play.start(fake)}
"The database layer" should {
"some db test" in { …
Run Code Online (Sandbox Code Playgroud) 我有一个类,我希望能够转换为json:
case class Page[T](items: Seq[T], pageIndex: Int, pageSize: Int, totalCount: Long)
object Page {
implicit val jsonWriter: Writes[Page[_]] = Json.writes[Page[_]]
}
Run Code Online (Sandbox Code Playgroud)
错误是 No apply function found matching unapply parameters
看起来Play Json Library无法序列化Scala集合.有没有其他选择.我只需要从地图转储数据.
import scala.concurrent._
import play.api.libs.ws._
import scala.concurrent.ExecutionContext.Implicits.global
import play.libs.Json
object temp {
// Correct Serialization
val javaMap = new java.util.HashMap[String, String]()
javaMap.put("Abc", "Def")
// Outputs: res1: String = {"Abc":"Def"}
Json.stringify(Json.toJson(javaMap))
// Incorrect Serialization
val scalaMap = Map("Abc" -> "Def") //> scalaMap : scala.collection.immutable.Map[String,String] = Map(Abc -> Def)
// Output: res2: String = {"empty":false,"traversableAgain":true}
Json.stringify(Json.toJson(scalaMap)) //> res2: String = {"empty":false,"traversableAgain":true}
}
Run Code Online (Sandbox Code Playgroud) 我想知道用户的会话是否已在服务器端过期,并在发生这种情况时执行某些操作.我该怎么做呢?
我正在使用Java和Play框架2.2.1.
我们正在使用Play 2.7(Java)进行制作.我们有一组常见的Ebean模型(作为外部库/ jar),它们在不同的Play项目之间共享,但我们因Play Evolutions脚本而陷入困境.有没有什么方法可以从外部文件夹/ jar加载这些脚本(.sql文件)?有没有人试过这个?
已经尝试在线搜索解决方案但没有用.需要有Play游戏经验的人的帮助.还请建议是否有其他方法来解决问题.感谢您的帮助!
目前,该项目正在从这里运行这些迁移脚本:
--> project
--> app
--> conf
--> evolutions
--> default <-- from here
Run Code Online (Sandbox Code Playgroud)
我想从这里的某个地方加载这些脚本:
--> project
--> app
--> External Libraries
--> group.artifact.version.jar
--> models
--> default <-- from here
Run Code Online (Sandbox Code Playgroud) scala ×6
java ×3
json ×2
deadbolt ×1
ebean ×1
heroku ×1
jpa ×1
play-slick ×1
sbt ×1
scala-2.10 ×1
securesocial ×1
specs2 ×1