Scala 代码段可以在lift中获取参数吗?

Scala 代码段可以在lift中获取参数吗?,scala,lift,Scala,Lift,在lift中是否有方法将参数传递给代码段 我正在尝试为我的页面编写一个pluraize过滤器,该过滤器将根据有多少用户显示单词“user”或“users”: 1 user 2 users 它在Django中的工作方式称为,它们的编写方式如下: You have {{ num_messages }} message{{ num_messages|pluralize }}. 所以在这里您可以看到pluralize函数接受一个整数num_消息和输出以及相应的字符串-空的“”或“s” 编辑:请注意,

在lift中是否有方法将参数传递给代码段

我正在尝试为我的页面编写一个pluraize过滤器,该过滤器将根据有多少用户显示单词“user”或“users”:

1 user
2 users
它在Django中的工作方式称为,它们的编写方式如下:

You have {{ num_messages }} message{{ num_messages|pluralize }}.
所以在这里您可以看到pluralize函数接受一个整数num_消息和输出以及相应的字符串-空的“”或“s”


编辑:请注意,在本例中,num\u消息是一个实际的上下文变量,从视图向下传递到模板。

您可以将参数传递给代码段,是的

class MySnippet {
  def foo: NodeSeq = {
    x = S.attr("myparam") openOr "myparam: Y U NO DEFINED!?"
    <p>I got {x}!</p>
  }
}
类MySnippet{
def foo:NodeSeq={
x=S.attr(“myparam”)open或“myparam:Y您没有定义!”
我得到了{x}

} }
使用:


或者,更新的Lift 2.3+样式:

<div class="lift:MySnippet.foo?myparam=3"/>


这也是一个带有参数的代码段调用

见电梯文件:

为了指示内容是动态的,标记包含一个代码段调用。这通常采用class=“someclass someothercss lift:mysnippet”的形式。如果类属性包含lift:xxx,则xxx将解析为一个代码段。代码段可能具有属性。属性的编码方式与URL参数类似。。。被一个?(问号),然后名称=值,由分隔符分隔?(问号);(分号)或&(符号)。名称和值是URL编码的


你不能这样做吗

<div class="lift:MyClass">
  You have <span class="num_messages"/>.
</div>

除非一个人不应该使用open\ux!。取而代之的是:val x=S.attr(“myparam”)open或“Dude,myparam未定义”Hm。。。但是,我真的可以传递一个上下文值,比如num_messages(如上)到代码段吗?还有,没有这些“框”还有什么方法可以通过呢?我不确定它怎么会比选项更好——只是更令人困惑。还有“我得到了{x}!

”是什么意思?你怎么能像那样把html代码插入scala代码中呢?我试过了——它很管用,但很奇怪@drozzy
类似于
选项
,但有一些很好的附加功能,比如能够携带故障/异常以及
满(x)
。我不是专家,但这里有一些阅读材料要看:。我不认为你们能在电梯里避开盒子,一旦你们开始使用它,你们就会开始欣赏它。很棒的东西!我想知道是否可以同时将它注入多个ID。但这是另一个问题。。。
<div id="main" class="cl1 cl2 lift:surround?with=default;at=content">
<div class="lift:MyClass">
  You have <span class="num_messages"/>.
</div>
class MyClass {
 def render = "num_messages" #> (num_messages + pluralize("message", num_messages))
}