我正在创建一个自定义标记库,我必须使用标记库将html内容输出到视图。我们可以输出像
这样的内容def globalCSS = { attrs, body ->
out << '<!-- BEGIN GLOBAL MANDATORY STYLES -->'
out << '<link href="http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700&subset=all" rel="stylesheet" type="text/css">'
out << '<link rel="stylesheet" type="text/css" href="'+g.resource(dir: 'assets/global/plugins/font-awesome/css', file: 'font-awesome.min.css', absolute: true)+'"/>'
out << '<link rel="stylesheet" type="text/css" href="'+g.resource(dir: 'assets/global/plugins/simple-line-icons', file: 'simple-line-icons.min.css', absolute: true)+'"/>'
out << '<link rel="stylesheet" type="text/css" href="'+g.resource(dir: 'assets/global/plugins/bootstrap/css', file: 'bootstrap.min.css', absolute: true)+'"/>'
out << '<link rel="stylesheet" type="text/css" href="'+g.resource(dir: 'assets/global/plugins/uniform/css', file: 'uniform.default.css', absolute: true)+'"/>'
out << '<!-- END GLOBAL MANDATORY STYLES -->'
}
现在的问题是,如果我尝试在一个out
中输入多行,那么它会抛出错误 -
def globalCSS = { attrs, body ->
out << 'Bla bla bla
Super bla bla
Awesome bla bla'
}
错误 -
Multiple markers at this line
- implements groovy.lang.Script.run
- Groovy:expecting ''', found '\r' @ line 10,
那么无论如何要将多行发布在一起吗?因为我很容易复制粘贴我需要输出的HTML代码所以请建议一种方法来做到这一点。
答案 0 :(得分:1)
请参阅http://groovy.codehaus.org/Strings+and+GString了解Multiline Strings
部分。使用'''
或"""
来解决groovy中的多行字符串。
如果您有一个想要使用的文本块,但不想对其进行全部编码(例如,如果它是一块HTML或其他内容),那么您可以使用
"""
语法def text = """\ hello there ${name} how are you today? """
第一行中的尾随\
表示应该忽略那里的换行符(为了便于阅读)