标签: lift

提升与Grails相比

Lift/Scala最近受到了很多关注.在过去与Grails合作过(并且发现它非常方便BTW),我想知道是否有人尝试过这两种方式以及他/她对他们的看法.其中一种更适合某种情况,而另一种更适合其他类型,或者它们并肩竞争以解决同样的问题?

grails compare lift

3
推荐指数
1
解决办法
1954
查看次数

案例类层次结构的lift-json序列化

我有一个如下的层次结构:

case class A(val a: Long, val b: String)

case class B(val c: String) extends A(a=3, b="a string")
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用lift-json序列化它以下:

val obj = B(c="another string")
val cameraJson = net.liftweb.json.Serialization.write(obj)
Run Code Online (Sandbox Code Playgroud)

但我所看到的是它只序列化了B类中的属性而不是A中的属性.

我也尝试过:

compact(render(decompose(obj)))
Run Code Online (Sandbox Code Playgroud)

结果相同

是什么赋予了?Scala中有一些我不知道的东西吗?

serialization scala lift class-hierarchy

3
推荐指数
2
解决办法
1616
查看次数

#>运算符在Scala Lift中意味着什么?

学习电梯我立即找到了一个不熟悉的#>操作员.究竟是什么意思?例:

/**
* Put the messages in the li elements and clear
* any elements that have the clearable class.
*/
def render = "li *" #> msgs & ClearClearable
Run Code Online (Sandbox Code Playgroud)

我可以阅读评论,知道这是什么行,但我不确定这里的代码机制.

scala operators lift

3
推荐指数
1
解决办法
865
查看次数

我的SessionVar对象应该在哪里?

Lift(Scala)中的编程非常紧张,它们都有非常简洁的文档,而且你能找到的少数文档是不完整和误导的.

好吧,我想要做的是在一个简单的字符串存储SessionVar.因此,一个代码段将使用表单填充此字符串的值,而在另一个代码段中,我将在会话中显示字符串(或其默认值).

到目前为止我所拥有的是:

SessionVar对象:

// the SessionVar will contain a String with "Anonymous" as default value.
object myUser extends SessionVar[String]("Anonymous")
Run Code Online (Sandbox Code Playgroud)

我填充字符串的片段:

object Login extends LiftScreen {

  val name = field("Name: ", "")

  def finish() {
    // set the SessionVar string with the string entered
    myUser.set(name)
    S.notice("Your name is: "+name)
  }
}
Run Code Online (Sandbox Code Playgroud)

我在其中显示字符串的片段(另一个片段):

// show the string in SessionVar
"Your name: " + myUser.is
...
Run Code Online (Sandbox Code Playgroud)

MyUser是我在会话中保存的对象.最大的问题是:我在哪里保留我的MyUser对象?我尝试Boot.scala了两个片段,但是我一直收到这个错误:not …

session scala lift

3
推荐指数
1
解决办法
684
查看次数

技术上是否可行,甚至将Dart与Lift一起使用也是有意义的?

我喜欢我读到的关于Lift的内容,我喜欢Dart的概念,但是两者都没有什么经验可以决定是否考虑在同一个项目中使用它们是否有意义.

我想这两个结构编写客户端代码,而不必担心OWASP十大之多

他们可以一起工作吗?它有意义吗?有人试过吗?

lift dart

3
推荐指数
1
解决办法
273
查看次数

刚下载了Scala Lift聊天应用程序并使用说明运行它,但它失败了

我克隆了这个项目:

https://github.com/dpp/simply_lift.git
Run Code Online (Sandbox Code Playgroud)

然后我按照说明说明:

Change directories into the chat directory and type sbt update ~jetty-run.
Run Code Online (Sandbox Code Playgroud)

SBT获取依赖项,然后我得到这个:

[error] Not a valid command: jetty-run
[error] Expected '/'
[error] Expected ':'
[error] Not a valid key: jetty-run (similar: run)
[error] jetty-run
[error]
Run Code Online (Sandbox Code Playgroud)

怎么办?

scala lift sbt

3
推荐指数
1
解决办法
96
查看次数

关于片段真的很困惑

我的电梯视图有问题.问题是,我正在进行两次昂贵的远程rest-api调用 - 我真的只需要做一次.

但我无法弄清楚如何解决这个问题.

基本上我有这样的HTML模板,需要显示用户列表及其计数:

//UserSearchResults.html

Num users: <span class="lift:UserSearchResults.userCount"></span>

User list:
<ul>
<lift:UserSearchResults.userList>   
   <li><user:userName/></li>
</lift:UserSearchResults.userList>    
</ul>
Run Code Online (Sandbox Code Playgroud)

然后我有一个实际的片段,从rest-api服务器检索用户列表.但是,请注意它实际上是这两次 - 一次计算用户数,一次计算列表.

  //UserSearchResults.scala 

  /** Get list of users from api */
  def users: List[User] = {
    val url = "http://server/rest-api/user-search";
    val result = io.Source.fromURL(url).mkString

    //... parse users into List[User] and return it

    return entries
  }

  /** Render user count */
  def userCount =
    "* *" #> users.length    //<-- ONE call

  def userList(in: NodeSeq): NodeSeq = {
    users.flatMap(user => Helpers.bind("user", in,  //<--SECOND call …
Run Code Online (Sandbox Code Playgroud)

scala lift

2
推荐指数
1
解决办法
230
查看次数

当Lift使用CSS类来达到自己的目的时,如何使用CSS来设置由Lift提供的网页样式?

Lift框架似乎class="lift:something"在HTML标签中使用,但如果我想将一些普通的CSS应用于此标签并希望它具有普通的类名,该怎么办?

css scala lift

2
推荐指数
1
解决办法
136
查看次数

如何在Lift片段中获取页面参数?

我有一个简单的电梯页面:

<html>
   <head></head>
   <body>
      <span id="content" class="lift:GetContent"></span>
   </body>
</html>
Run Code Online (Sandbox Code Playgroud)

和一个简单的片段:

class GetContent {
  def render = "#content" #> "someValue"
}
Run Code Online (Sandbox Code Playgroud)

问题是,我怎样才能获得在URL中传递的参数(如page.html?param=value)?

scala lift

2
推荐指数
1
解决办法
864
查看次数

scala lift - filterNot with multiple arguments

我在List上有以下过滤器:

 messages = messages.filterNot(m => m.room == room)
Run Code Online (Sandbox Code Playgroud)

我想要做的是有多个参数,所以我可以匹配所有具有相同房间ID和相同数据值的项目,所以类似于:

 messages = messages.filterNot(m => m.room == room, m.data == data)
Run Code Online (Sandbox Code Playgroud)

这当然没有用,有没有办法可以做到这一点?

在此先感谢,任何帮助非常感谢:)

scala lift

2
推荐指数
1
解决办法
4643
查看次数

标签 统计

lift ×10

scala ×8

class-hierarchy ×1

compare ×1

css ×1

dart ×1

grails ×1

operators ×1

sbt ×1

serialization ×1

session ×1