为什么HTML显示为String

4 html grails

我有一个结果列表

[[<a onclick="viewEmpDetails('563291f0af6a1ecb740f904c','false','UniqueId')" title='View' style='cursor:pointer'><i class='ace-icon fa fa-search-plus grey' style='width:30px;'> </i></a>, 02/02/49, 02/02/49, 02/02/1949, 11-Jan-1916, 10-Feb-33]]
Run Code Online (Sandbox Code Playgroud)

我正在使用下面的代码进行迭代

<g:each in="${session.treeGridJsonObject}"  var="lists">
  <g:each in="${lists}"  var="list">
  <td>${list}</td>
  </g:each>
</g:each>   
Run Code Online (Sandbox Code Playgroud)

但我在GSP中将html代码作为字符串获取.在此输入图像描述

我如何在控制器中添加html数据

htmlData += "<a onclick=\"viewEmpDetails('"+row['UniqueId']+"','false','UniqueId')\" title='View' style='cursor:pointer'><i class='ace-icon fa fa-search-plus grey' style='width:30px;'> </i></a>"
Run Code Online (Sandbox Code Playgroud)

当我尝试调试它显示双""引用.

在此输入图像描述

Iva*_*var 7

这是为了防止XSS攻击.这样,如果用户提交了一些javascript,则在向其他人显示时不会运行.有多种方法可以输出原始数据:

${raw(content)}
Run Code Online (Sandbox Code Playgroud)

要么

${content.encodeAsRaw()}
Run Code Online (Sandbox Code Playgroud)

要么

<g:encodeAs codec="Raw">${content}</g:encodeAs>
Run Code Online (Sandbox Code Playgroud)

要么

<g:encodeAs codec="None">${content}</g:encodeAs>
Run Code Online (Sandbox Code Playgroud)

http://mrhaki.blogspot.nl/2013/11/grails-goodness-generating-raw-output.html