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

罗罗罗写代码 发布于 2016/02/22 12:25
阅读 965
收藏 0

在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显示在页面的结果为:

不知道为啥会有换行符!!!



加载中
0
Happy猪猪
Happy猪猪

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

换成下面的:

into = "<style>img {width:100%;}</style>"+into;试试

罗罗罗写代码
回复 @Happy猪猪 : intro = doc.html();得到的intro就有\n了,怎么转换才能不带\n啊,什么doc.toString() doc.outerHtml()都试过了,结果一样了
Happy猪猪
Happy猪猪
回复 @罗罗罗写代码 :跟个断点,看看后台into的值是什么,带不带\n
罗罗罗写代码
没有用啊,还是有换行符/(ㄒoㄒ)/~~
返回顶部
顶部