** 问题描述:**
项目是前后端分离,后端Java开发,前端纯HTML显示,查询出结果返回给前端后,前端还是原文输出
** 前端结果:**
** 后端部分代码**
/**
* 设置关键字高亮
* @param query 查询对象
* @param list 设置高亮的内容列表
* @param fields 字段名
*/
public List<T> keyWordsHighLight(BooleanQuery query, List<T> list, String... fields){
Analyzer analyzer = new IKAnalyzer();
/**自定义标注高亮文本标签*/
SimpleHTMLFormatter formatter = new SimpleHTMLFormatter("<font color='red'>","</font>");
Highlighter highlighter = new Highlighter(formatter, new QueryScorer(query));
highlighter.setTextFragmenter(new SimpleFragmenter(130));
for(T entity : list){
try {
for (String field : fields){
if(ObjectUtil.isNotEmpty(field) && !"tag".equals(field)){
String text = ObjectUtil.replaceHtml((String)Reflections.invokeGetter(entity, field));
String desciption = highlighter.getBestFragment(analyzer,field,text);
if(desciption!=null){
Reflections.invokeSetter(entity, fields[0], desciption);
break;
}
Reflections.invokeSetter(entity, fields[0], ObjectUtil.abbr(text, 130));
}
}
} catch (IOException e) {
e.printStackTrace();
} catch (InvalidTokenOffsetsException e) {
e.printStackTrace();
}
}
return list;
}
http://www.cnblogs.com/makemelaugh/archive/2013/03/09/2952174.html
截图高亮不是已经加上了,你显示的时候处理有问题吧,将html做了实体替换了
HTML被转义了吧。