import scala.tools.nsc._
trait Foo
class Parser {
def parse(code: String) = {
val settings = new Settings
settings.embeddedDefaults[Foo]
val interpreter = new Interpreter(settings)
interpreter.parse(code)
}
}
"org.scala-lang" % "scala-compiler" % "2.9.1"
**编程对象,Settings.UseJavaCP.Value=true。
Build.Scala
import sbt._
import Keys._
import PlayProject._
object ApplicationBuild extends Build {
val appName = "com.qwerty.utils"
val appVersion = "1.0-SNAPSHOT"
val scalaVersion = "2.9.1"
val appDependencies = Seq(
"org.scala-lang" % "scala-compiler" % "2.9.1"
)
val main = PlayProject(appName, appVersion, appDependencies, mainLang = SCALA).settings(
// Add your own project settings here
)
}
有关embeddeddefaults
的背景信息,请参阅原始建议。
容器(Play)必须定义“app.class.path”和“boot.class.path”资源,然后embeddeddefaults
将使用它们为环境正确配置解释器。所以,这是一个游戏的增强。
如果您可以将必要的类路径传递到应用程序中,那么您可以自己显式地配置类路径和类加载器,如下所示:
val settings = new Settings
settings.classpath.value = "<classpath>"
settings.bootclasspath.value =
settings.bootclasspath.value + File.pathSeparator +
"<extra-bootclasspath>"
val interpreter = new Interpreter(settings) {
override def parentClassLoader = classOf[Foo].getClassLoader
}
interpreter.parse(code)
问题内容: 我已经开发了一个Spring / JPA应用程序: 服务,存储库和域层即将完成 。 该 所缺的只是层是网络层 。我正在考虑将Playframework 2.0用于Web层,但不确定是否可以 在Playframework 2.0类中注入/使用spring bean 。 这可能吗?如果可以,怎么办? 问题答案: 您可以。已针对Play 2.5.x更新: https://github.com
表单(form)是最常见的从客户往服务器传递数据的方式。Play框架提供了一些工具。它们可以从表单中提取数据,验证提交数据的合法性,或者在视图中显示表单。我先来介绍最简单的使用表单提交数据的方式。 增加表单 我可以用纯粹html的方式产生一个表单。在app/views下增加模板form.scala.html: <!DOCTYPE html> <html> <body> <form me
在上一章节中,我把字符串通过ok()返回给客户。我可以把一个完整的html页面放入字符串中返回。然而,现代的框架都提供了更好的方法——模板。模板将视图和数据分开。服务器可以把不同的数据传递给同一个模板,从而产生不同的页面。 Play同样也有一套模板系统。模板的大部分内容都可以用html写,作为视图,而在一些特别的地方,预留给数据参数。在模板中,用Scala语言来调用参数。 使用模板 我首先创建一个
我上一章总结了Play框架的基本使用。这一章里,我将修改和增加响应。 HTTP协议是按照“请求-响应”的方式工作。Play框架的核心是用动作(Action)来完成“请求-响应”。一个动作负责处理一种请求。一个项目可能要定义许多动作。复杂的网站,可能要定义上百个动作。所以,Play使用控制器(Controller)和URL路由(URL routing)来组织管理动作。控制器用于给动作分类。URL路由
说到网络框架,Ruby的Ruby on Rail和Python的Django都相当轻巧好用,但Java下的框架,则要沉重很多。有人因此质疑Java语言本身是否符合网络时代的需求。Java大神们对这一问题嗤之以鼻。想要轻巧好用的框架?写一个给你就是了。Java程序员Guillaume Bort在JVM上创造了一个全新的框架Play framework。Play拥有ROR或Django那样的灵巧,又不