PrintWriter println() 不打印新行

时间:2021-06-25 08:21:14

标签: java

我正在开发一个 Java servlet 类,在访问该 servlet 类后,错误将显示在页面上。但是,我面临一个问题,即我的 PrintWriter 的 println 函数实际上并未打印新行。代码的 else 部分不打印新行。我试图遵循此 solution 但无济于事。我该如何解决这个问题?

谢谢!

这是我的代码:

@Named("UploadServlet")
public class UploadServlet extends HttpServlet{

    private final UserAccessor userAccessor;

    public UploadServlet(UserAccessor userAccessor){
        this.userAccessor = userAccessor;
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {

        ...

        try{
            //Parse the request to get file items
            List<FileItem> fileItems = upload.parseRequest(request);

            // Process the uploaded items
            Iterator<FileItem> iter = fileItems.iterator();
            while(iter.hasNext()){
                FileItem item = iter.next();

                if(!item.isFormField()){
                    String content = item.getString();
                    StringReader sReader = new StringReader(content);
                    Iterable<CSVRecord> records = CSVFormat.DEFAULT.withFirstRecordAsHeader().parse(sReader);

                    Hashtable<String, String> errors = new Hashtable<String, String>();

                    for(CSVRecord record : records){

                        ...

                    }

                    if(errors.isEmpty()){
                        response.setContentType("text/html; charset=UTF-8");

                        PrintWriter out = response.getWriter();
                        out.println("<!DOCTYPE html>");
                        out.println("<html><head>");
                        out.println("<meta name=\"decorator\" content=\"atl.admin\" />");
                        out.println("<title>Bulk User Creation Tool</title></head>");
                        out.println("<body style=\"text-align: center;\"><h3>User(s) created successfully!</h3></body></html>");
                        out.close();
                    }
                    else{
                        response.setContentType("text/html; charset=UTF-8");

                        PrintWriter out = response.getWriter();
                        out.println("<!DOCTYPE html>");
                        out.println("<html><head>");
                        out.println("<meta name=\"decorator\" content=\"atl.admin\" />");
                        out.println("<title>Bulk User Creation Tool</title></head>");
                        out.println("<body style=\"text-align: center;\">");

                        errors.forEach((k,v) -> {
                            out.println(k + ": " + v + "\r\n");
                        });
                        
                        out.println("</body></html>");
                        out.close();
                    }
                }
            }
        }

        ...

    }
}

0 个答案:

没有答案
相关问题