问题1:用户输入中存在换行符,如何在前端展示?
当前我只需要考虑 \r\n 如何在前端显示。目前的解决方案是,存储的时候替换为
String raw_statement = URLDecoder.decode(temp[1], "utf-8").trim();
ObjectXXX.setStatement(raw_statement.replace("\r\n", "<br/>"));
简单测试:(下面可以显示换行效果)
@Controller
public class RenderController {
@GetMapping("/test")
public String goToTest(RedirectAttributes ra) {
ra.addFlashAttribute("test_format", "hello<br/>world");
return "redirect:/test/test";
}
@GetMapping("/test/test")
public String goToTest2() {
// src\main\resources\templates\test\test.ftl
return "/test/test";
}
}
问题2:用户上传的附件,名称中存在空格,下载会失败怎么办?
这个解决方案就是做转换。
// 提供下载链接时(拼接url),文件名要做转换 (detail函数)
URLEncoder.encode(filename, "UTF-8")
// filename是上面url的一部分,需要decode获得真正字符串
String attachFileName = URLDecoder.decode(filename, "utf-8").trim();