标签: lift

反向AJAX(Comet)和Spring MVC与Scala/LIFT?

IBM提供了一个演示,演示了如何使用DWR 2轻松实现反向AJAX.另一方面,Scala/LIFT具有内置的反向AJAX功能.

  1. 问题:如果使用Spring MVC可以正常工作吗?

  2. 问:如果你从头开始,优先考虑Scala/LIFT而不是DWR/Spring MVC的优缺点是什么?

  3. 问题:在Scala/LIFT中,安全处理是否与Spring Security一样复杂?

scala dwr spring-mvc lift spring-security

17
推荐指数
1
解决办法
7862
查看次数

Scala/Lift的OAuth 2.0提供程序实现

有没有人知道Scala/Lift的OAuth 2.0提供程序(服务器端)实现?我看到Scala 2.0客户端,但没有提供商.

scala lift oauth-2.0

17
推荐指数
1
解决办法
2779
查看次数

执行提升项目时使用SBT的内存不足错误

我使用的是SBT 0.7.7.当我对Lift项目进行更改并通过以下方式重新编译时:

  1. jetty-stop
  2. compile
  3. jetty-run

我收到以下错误:

执行sbt时出错:java.lang.OutOfMemoryError:PermGen space

我在/opt/local/bin/sbt-0.7中定义了以下内容:

# Is the location of the SBT launcher JAR file.
LAUNCHJAR="/opt/local/share/sbt-0.7/sbt-launch-0.7.7.jar"

# Ensure enough heap space is created for SBT.
if [ -z "$JAVA_OPTS" ]; then
JAVA_OPTS="-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:MaxPermSize=256m -Xmx512M -Xss2M"
fi

# Assume java is already in the shell path.
exec java $JAVA_OPTS -jar "$LAUNCHJAR" "$@"
Run Code Online (Sandbox Code Playgroud)

memory scala lift sbt

16
推荐指数
2
解决办法
2万
查看次数

%和%%运算符在设置SBT依赖项时会做什么?

在Lift Web Framework中,简单构建工具(SBT)的依赖项在LiftProject.scala中指定.该文件包含以下代码:

  override def libraryDependencies = Set(
    "net.liftweb"             %% "lift-webkit"   % liftVersion % "compile->default",
    "net.liftweb"             %% "lift-mapper"   % liftVersion % "compile->default",
    "org.mortbay.jetty"       % "jetty"          % "6.1.22"    % "test->default",
    "junit"                   % "junit"          % "4.5"       % "test->default",
    "org.scala-tools.testing" %% "specs"         % "1.6.6"     % "test->default",
    "org.scala-lang"          % "scala-compiler" % "2.8.1"     % "test->default",
    "org.apache.tomcat"       % "tomcat-juli"    % "7.0.0"     % "test->default",
    "com.h2database"          % "h2"             % "1.2.138"
  ) ++ super.libraryDependencies
Run Code Online (Sandbox Code Playgroud)

%和%%运算符在这里做什么?如果我将此代码粘贴到scala解释器中,则会出错,并且没有为String或RichString定义%或%%.这里发生了什么?

scala lift sbt

15
推荐指数
2
解决办法
762
查看次数

何时使用Mapper或Record in Lift?

我想了解在Liftweb应用程序中选择使用Record,Mapper甚至两者的用例,优点不便之处.

当我试图:

  • 为模型类创建一个类似树的结构
  • 创建一个类似树的结构,用于呈现页面中的类
  • 确保树中的不同类可以同时处于不同的状态.一个处于EDIT或CREATE状态,另一个处于VISUALIZE状态.
  • 可以创建,读取或保存模型类到已经运行的RESTful Web服务.

我把这些用例放在这里仅供记录.您可以以更一般的方式回答.

scala web-applications lift

15
推荐指数
1
解决办法
1920
查看次数

Grails - Lift:哪种框架更适合哪种应用?

我过去几个月一直在使用Grails,我非常喜欢它,特别是GORM.但是,我对Scala的Lift感兴趣.因此,我想知道您对哪种Web应用程序更适合这两个框架中的哪一个或者仅仅是品味问题,使用哪种框架?

最后,您认为哪些框架将来会更多使用?我觉得Grails远未达到临界质量而且仍然非常模糊(在过去的几个月里,我有机会与中型公司和IT初创公司合作,主要使用JVM堆栈,只有一个人知道并且使用Grails)我甚至不确定它是否可以成为Java世界的"RoR"(事实上,即使其他框架具有正增长率,过去几个月也会出现增长下降).而且我喜欢Groovy,这很容易学习,但我注意到它对于某些任务来说有多慢.

另一方面,Scala似乎更受欢迎(Tiobe Index),Twitter现在使用它的事实使它在博客圈中的存在更多,有很多爱好者和仇恨者嗡嗡作响.它以快速和可扩展而闻名.然而,对于许多开发人员而言,这种语言似乎有点难以理解和学习(所以它可能永远不会获得主流地位).Lift鲜为人知,我已经阅读了一些报告,它更适合小型应用程序(少于20个域类).

通过看看Groovy-Grails现在主导的书籍数量,但许多出版商都有Scala书籍,所以我认为这种优势不会持续很长时间.

最后,我们遇到的问题是,这两种语言和框架的IDE支持都很差(它在白天变得越来越好,但远远超出了Java商店所期望的效率).

我不想发动火焰战争,但我会非常有兴趣听取其他用户的意见.

grails lift

14
推荐指数
2
解决办法
7716
查看次数

基于Scala的框架如何为完整的Scala新手堆叠 - Lift,Play,Circumflex等

最近基于Scala的Web框架社区已经有了很多变化.来自Rails,Rake,ActiveRecord和迁移 - 这是一个很好的Scala框架来构建生产站点?

如果它提供了更好的可维护代码,那么性能的一小部分是可以接受的.如果内置协作功能也会很好 - 例如数据库迁移等.

java migration scala web-frameworks lift

14
推荐指数
3
解决办法
3194
查看次数

为什么人们使用_?作为标识符后缀?

我开始阅读Lift框架源代码,我发现有很多方法使用名称定义methodName_?,是否有一个_?具有一些特殊含义的约定?

def empty_? : Boolean = {}
Run Code Online (Sandbox Code Playgroud)

scala lift

14
推荐指数
2
解决办法
1784
查看次数

如何在Scala中轻松定义更复杂的PartialFunction?

PartialFunctions

PartialFunction简而言之,在Scala中,a 是另外定义isDefinedAt方法的函数.

使用一系列case语句很容易定义部分函数.一个简单的例子是,例如:

scala> val pf: PartialFunction[Int, Unit] = {
     | case 42 => ()
     | }
pf: PartialFunction[Int,Unit] = <function1>

scala> pf.isDefinedAt(42)
res0: Boolean = true

scala> pf.isDefinedAt(0) 
res1: Boolean = false
Run Code Online (Sandbox Code Playgroud)

isDefinedAtcase定义部分函数的s 列表中自动生成.

上下文

Lift框架在许多地方使用部分功能,例如定义一个请求是应该由Lift的引擎处理还是直接从磁盘上的文件提供服务.有时候,我发现自己想要编写一个case匹配所有输入参数的语句,然后才决定是否要返回一个值.这意味着cases 的初始序列不再足以确定我的函数是否定义在给定值

例如,在Lift中,我想添加一个规则,直接提供所有html和htm文件,并且应该处理带有"lift"扩展名的文件.做这样的事情会很容易:

LiftRules.liftRequest.prepend {
  case Req(path, extension, tpe) => extension match {
    case "html" | "htm" => false
    case "lift" => true
  }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,在这种情况下,编译器认为我的部分函数是在任何地方定义的,因为第一个case总是匹配.嵌套match可能与所有传入请求不匹配.而且,请求是不匹配的,MatchError …

scala lift partialfunction

14
推荐指数
1
解决办法
802
查看次数

具有Join in Liftweb的复杂SQL查询

我想知道是否有办法在Liftweb中使用Mapper进行一些复杂的SQL查询.

实际上,我想要做的是使用它们通过1对多关系链接的事实从数据库Employe和Departments执行Join查询.另一个例子也是受欢迎的.

提前致谢.


以下是一些更多细节:假设我有2个表:

Employee : birthday, department ID, salary
Department : department ID, budget, address
Run Code Online (Sandbox Code Playgroud)

现在我想获得一个对象Employee(用Mapper创建)的列表,它有一个salary > 10$和一个department budget < 100$.

当然,我的原始代码比这复杂得多,但我的目标是能够Employee在其自己的表或链接表中具有与标准对应的映射对象列表(即).

sql scala lift

13
推荐指数
1
解决办法
1777
查看次数