Playframework 2.0在视图模板中定义功能

时间:2012-05-06 00:30:59

标签: scala playframework playframework-2.0

我正在使用PlayFramework 2.0开发一个项目。在阅读了一些scala之后,我想在View模板中嵌入一些动态代码。所以,我做了以下几点:

@{
    def getMystring(sequence:Int) = {
        if(patternForm != null && 
            patternForm.get().windowTreatments != null &&
            patternForm.get().windowTreatments.size() >= sequence + 1)
            sequence+""
        else 
            "" 
    }
}

<input type = "text" value = @getMystring(1)></input>
...

我很确定它会起作用,但我得到了一个“未找到:值getMyString错误发生”。我做了一件明显不对的事吗?

2 个答案:

答案 0 :(得分:5)

尝试像模板一样启动它,就像这样

@getMystring(sequence:Int) = {

[...]

查看https://github.com/playframework/Play20/blob/master/samples/scala/computer-database/app/views/list.scala.html

答案 1 :(得分:3)

问题在于游戏定义了一个非常狭窄的范围,并且无法识别当前大括号之外的def。

您可以更改def的最后一个花括号的位置以包含输入标记,然后它应该有用。

或者你可以按照建议的那样做。

@getMystring(sequence:Int) = {

[...]