开发者社区> 问答> 正文

html代码转为字符串通过@ResponseBody显示在页面会添加"\n"

在java中用Jsoup处理一段HTML代码,处理完成后用doc.html()将代码转为String类型并通过@ResponseBody显示在页面,但是出现了"n"换行,不知道该怎么去除"n",请大神指点!!!

详细代码如下:

Jsoup处理html代码:

String intro="<p><img src="http://venada-mall.img-cn-shanghai.aliyuncs.com/productIntro/93617533374177280/20160107/1452165039617.jpg" style="" title="1.jpg"/></p><p><img src="http://venada-mall.img-cn-shanghai.aliyuncs.com/productIntro/93617533374177280/20160107/1452165039994.jpg" style="" title="2.jpg"/><img src="http://venada-mall.img-cn-shanghai.aliyuncs.com/productIntro/93617533374177280/20160107/1452165040571.jpg" title="3.jpg" style="white-space: normal;"/></p><p><img src="http://venada-mall.img-cn-shanghai.aliyuncs.com/productIntro/93617533374177280/20160107/1452165040413.jpg" style="" title="4.jpg"/></p><p><br/></p>";

Document doc = Jsoup.parse(intro);
//所有p标签
Elements pTags = doc.getElementsByTag("p"); 
for(Element p : pTags){
    //p标签下的img标签
    Elements imgTag = p.getElementsByTag("img");
    //不包含img标签
    if(imgTag.isEmpty()){
        //清空p标签的样式
        p.attr("style", false);
        //p标签下的span标签
        Elements spanTag = p.getElementsByTag("span");
        //包含span标签
        if(!spanTag.isEmpty()){
            for(Element span : spanTag){
                //清空span标签的样式
                span.attr("style", false);
            }
        }
    }
}

intro = doc.html();
String style = "<style>img {width:100%;}</style>";
//添加样式使图片可以按屏幕大小自适应显示
intro = style + intro;

将上述代码处理后得到的intro封装到一个自定义实体(WowResult  rst = new WowResult() )中的data属性中,如下:

public class WowResult {

  /**
     * 返回的主体数据
     */
    private Object data;
}

通过@ResponseBody将rst显示在页面的结果为:

展开
收起
a123456678 2016-03-18 16:09:10 4269 0
1 条回答
写回答
取消 提交回答
  • String style = "";
    //添加样式使图片可以按屏幕大小自适应显示
    intro = style + intro;

    换成下面的:

    into = ""+into;试试

    2019-07-17 19:06:56
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《零基础HTML入门教程》 立即下载
天猫 HTML5 互动技术实践 立即下载
天猫HTML5互动技术实践 立即下载