Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Grails GSP页面中的三元运算符产生错误_Grails_Grails 4 - Fatal编程技术网

Grails GSP页面中的三元运算符产生错误

Grails GSP页面中的三元运算符产生错误,grails,grails-4,Grails,Grails 4,我目前正在升级到Grails4。GSP页面中不承认使用三元运算符。以下代码: <td>${(user?.active) ? '<i class="icon icon-plus" style="color: green;"></i> <span style="color: green">Active</span>' : '<i class="icon-remove-circle" style="color: red;"&g

我目前正在升级到Grails4。GSP页面中不承认使用三元运算符。以下代码:

     <td>${(user?.active) ? '<i class="icon icon-plus" style="color: green;"></i> <span style="color: green">Active</span>' : '<i class="icon-remove-circle" style="color: red;"></i> <span style="color: red">Inactive</span>'}</td>
${(用户?.active)?“active”:“Inactive”}

打印字符串,而不是显示图标。如果我删除了
周围的单引号,而不是无法识别三元运算符,则会出现HTML显示为字符串而不是呈现的问题。这是因为GSP表达式(在
${}
中)默认编码为HTML

要处理这种情况,请将表达式包装到:

     unexpected token: ? @ line 190, column 275, it) { return (user?.active) ? <i class                                         
                                                                             ^
<td>${raw(user?.active ? '<i class="icon icon-plus" style="color: green;"></i> <span style="color: green">Active</span>' : '<i class="icon-remove-circle" style="color: red;"></i> <span style="color: red">Inactive</span>')}</td>
<%@page expressionCodec="none" %>
grails:
    views:
        gsp:
            codecs:
                expression: none