我正在开发一个 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();
}
}
}
}
...
}
}