java – 将ServletOutputStream读取到String
发布时间:2020-12-14 19:18:35 所属栏目:Java 来源:网络整理
导读:我试图阅读FreemarkerView渲染的结果: View view = viewResolver.resolveViewName(viewName,locale);view.render(model,request,mockResponse); 为了读取结果,我创建了mockResponse,它封装了HttpServletResponse: public class HttpServletResponseEx exte
我试图阅读FreemarkerView渲染的结果:
为了读取结果,我创建了mockResponse,它封装了HttpServletResponse:
还有我的ServletOutputStream,它使用StringBuilder构建String:
有了这些,我可以使用方法ServletOutputStreamEx.toString轻松读取响应. 我的问题是write方法没有按正确的顺序调用,最后最终的String混合而且顺序不正确.这可能是由Freemarker中的并发引起的,但我不知道如何修复它. 最佳答案
感谢您的回复:write(int b)未实现,因为它永远不会被调用.最后的问题是字节数??组,它也包含前一个字符串.所以String需要创建为String(b,off,len,“UTF-8”).
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |