Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.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
Html delegate.replace()不适用于数组列表Grails 2.3.8_Html_Arrays_Grails_Tags - Fatal编程技术网

Html delegate.replace()不适用于数组列表Grails 2.3.8

Html delegate.replace()不适用于数组列表Grails 2.3.8,html,arrays,grails,tags,Html,Arrays,Grails,Tags,以下是替换HTML标记的代码: def str String.metaClass.removeHtml { def removeThisHtml = [ [htmlCode: "`", value: "`"], [htmlCode: "@", value: "@"], [htmlCode: "&", value: "&"], [htmlCo

以下是替换HTML标记的代码:

  def str
  String.metaClass.removeHtml {
      def removeThisHtml = [
         [htmlCode: "`",  value: "`"], 
         [htmlCode: "@",  value: "@"], 
         [htmlCode: "&",  value: "&"],
         [htmlCode: "\",  value: "\\"],
         [htmlCode: """, value: '"'], 
         [htmlCode: "'",  value: "'"], 
         [htmlCode: "&lt;",   value: "<"],
         [htmlCode: "&gt;",   value: ">"]
      ]

      removeThisHtml.each { element ->
         str = delegate.replace(element.htmlCode, element.value)
      } 
      return str
  }
def str
String.metaClass.removeHtml{
def removeThisHtml=[
[htmlCode:`;”,值:“`”],
[htmlCode:@;”,值:@“],
[htmlCode:“&;”,值:“&”],
[htmlCode:\;”,值:“\\”,
[htmlCode:”,值:“]”,
[htmlCode:';”,值:“”,
[htmlCode:,值:“”]
]
removeThisHtml.each{element->
str=delegate.replace(element.htmlCode,element.value)
} 
返回str
}
这是我的控制器的代码:

def getProjectLists() {
  def currentUser = springSecurityService.currentUser
  def kups = ([['name':'<b>Sample 1</b>'.removeHtml()],['name':'<b>Sample 2</b>']])
  render kups as JSON  
}
def getprojectlist(){
def currentUser=springSecurityService.currentUser
def kups=([['name':'Sample 1'.removeHtml()],['name':'Sample 2']]
将kups呈现为JSON
}
我的预期产出是:

样本1样本2

但结果是:


Sample1Sample2

我认为您真正想要的是转义HTML-显示HTML标记和实体,因此函数名
removeHtml
有点误导,
转义HTML
更适合它

一般来说,我建议不要自己做这样的事情,因为别人已经做了,而且很可能做得更好

例如,apachecommons有一个
StringEscapeUtils.escapeHtml
方法

String.metaClass.removeHtml { 
    return org.apache.commons.lang.StringEscapeUtils.escapeHtml(delegate) 
}

在这种情况下,正常的字符串替换函数应该可以工作,谢谢Lars,但是我需要在后端部分使用这个替换函数。Grails 2.3.8哦,对不起,我没有看到“Grails”标记。。。您可能希望在问题中包含所使用的技术抱歉,谢谢您的提示。您正在查找以下内容:
String.metaClass.removeHtml{return org.apache.commons.lang.StringEscapeUtils.escapeHtml(delegate)}