对unescape字符的解决方案是:#{verbatim} ${mycontent} #{/verbatim}
或${_news.content.raw()}
但是有没有一种简单的方法可以在Play框架中用Groovy子串HTML字符呢?
最佳答案
我不太明白你的问题,但是:
如果要转义HTML标记,可以使用${mycontent.escapeHtml()}
或${mycontent.escape()}
如果您想清除字符串mycontent
以仅获取文本,可以使用Jsoup库执行自己的FastTags,并执行类似的操作:
package tags;
...
import org.jsoup.Jsoup;
import org.jsoup.safety.Whitelist;
...
public class MyJavaExtensions extends JavaExtensions {
public static String cleanString(String s) {
try {
return Jsoup.parse(s).text();
} catch (Exception ex) {
return null;
}
}
}
你可以在Groovy模板中使用它:
${mycontent.cleanString()}