我在groovy中编码,我正在尝试返回一些javascript。这是我需要返回一个包含大括号的字符串的问题,当然groovy将其视为错误。这是一个简单的例子:
${ i == 0 ? '{' : '}, {' }
我想要回复:
{
或
},{
计划和简单。
${ i == 0 ? 'should be left brace' : "should be right brace coma left brace" }
花括号可以转义,类似于转义引号吗? 我试过了:
${ i == 0 ? '\{' : '\}, \{' }
和
${ i == 0 ? '{{' : '}}, {{' }
感谢。
答案 0 :(得分:5)
我认为GSP页面中出现问题。您可能得到的错误应该与此类似:
expecting ''', found '\n' @ line 57, column 80.
it) { return i == 0 ? '{' : ' })
一种解决方案是对左右花括号使用Unicode表示:
${ i == 0 ? "\u007B" : "\u007D,\u007B" }
答案 1 :(得分:2)
这对我有用:
def i = 1
assert "},{" == "${i == 0 ? '{' : '},{'}"
你能分享一些Groovy报告错误的代码片段吗?