Scala Playframework 2.0在视图模板中定义函数
我正在使用PlayFramework 2.0进行一个项目。在阅读了一些scala之后,我想在视图模板中嵌入一些动态代码。因此,我做了以下工作:Scala Playframework 2.0在视图模板中定义函数,scala,playframework,playframework-2.0,Scala,Playframework,Playframework 2.0,我正在使用PlayFramework 2.0进行一个项目。在阅读了一些scala之后,我想在视图模板中嵌入一些动态代码。因此,我做了以下工作: @{ def getMystring(sequence:Int) = { if(patternForm != null && patternForm.get().windowTreatments != null && patternForm.get(
@{
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>
...
@{
def getMystring(序列:Int)={
if(patternForm!=null&&
patternForm.get().windowTreatments!=null&&
patternForm.get().windowTreatments.size()>=序列+1)
序列+“”
其他的
""
}
}
...
我很确定它会工作,但我得到了一个“未找到:值getMyString出错”。我做了什么明显的错误吗?试着像模板一样启动它,就像这样
@getMystring(sequence:Int) = {
[...]
请看一看问题所在,play定义的范围非常狭窄,无法识别当前花括号之外的DEF 您可以更改def最后一个花括号的位置,使其包含输入标记,然后它就可以工作了 或者您可以按照opensas的建议进行操作
@getMystring(sequence:Int) = {
[...]
因为模板的灵感来自razor,所以我期待着razor式的范围界定。但现在我更清楚了:)