2016-12-22 44 views
0

在Groovy 2.4.4以下:GSP模板错误:方法的无签名:SimpleTemplateScript(<some number>).VAR()是适用于参数类型:(java.lang.Boolean中)

import groovy.text.SimpleTemplateEngine; 
import groovy.text.Template; 
import groovy.text.TemplateEngine; 
import java.util.Map; 
... 
// assume templateFile is a File object pointing to a GSP file 
TemplateEngine templateEngine = new SimpleTemplateEngine(getClass().getClassLoader()); 
Template template = templateEngine.createTemplate(templateFile); 
Map<String, Object> bindings = new Map<String, Object>(); 
String output = template.make().toString(); 

给出一个模板文件,其中包含:

<% 
var someVar = false; 
%> 

产生错误:

An unexpected error occurred while processing the template: No signature of method: SimpleTemplateScript369.var() is applicable for argument types: (java.lang.Boolean) values: [false] Possible solutions: wait(), run(), run(), every(), any(), wait(long)

应该如何布尔在G是创建这个版本的Groovy中的SP模板?

回答

0

该错误指示var不接受布尔值。

var在某些语言中用于变量定义,因此我在头脑中混合使用了def这是Groovy中较为宽松的变量类型。

如果你想停止语言之间进行切换时,在GSP只使用Java类型,当你定义变量,例如:

<% 
Boolean someVar = false; 
%> 
感到困惑
相关问题