我正在使用grails 2.3
<td>${params?.query?name.replace(params.query,'<span>'+params.query+'</span>'):name}</td>
在上面的gsp页面声明中,如果params.query值可用,我想突出显示name属性。但是生成的代码包含html等效字符。
<td><span>Mess</span>age</td>
如何在gsp页面中显示如下。在1.3版本中,它起作用了。但在2.3版本中,相同的代码如上所示。我想显示为
<span>message</span>
您可能在Config.groovy中具有此设置:
grails.views.default.codec = "html"
这意味着在GSP中的所有$ {}表达式中,将对特殊的HTML字符(如“ <”和“>”)进行编码。通常,这是一个合理的设置,因为它可以防止XSS攻击。
如果您需要为一个特定的表达式避免这种默认行为,则可以使用以下方法:
<td><%=params?.query?name.replace(params.query,'<span>'+params.query+'</span>'):name%></td>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句