게시판을 구성할 때 글내용을 textarea 안에 입력받고 DB로 보내서 저장하도록 하였는데, 확인해보니 엔터키를 입력한 부분에서 줄바꿈이 되지 않고 그냥 띄어쓰기로 나타나는 문제가 있었다.
실제로 DB안에 데이터에는 엔터가 입력된채로 저장이 되는 데, 이것을 다시 select로 가져올때에 공백으로 인식하는 듯 하였다.
해결방법은 view에서 controller로 data를 넘겨줄 때, 엔터입력한 부분을 html tag인 <br>로 입력을 해주는 것이다.
1 2 3 4 5 6 7 8 9 10 11 | @RequestMapping(value="/sample/insertBoard") public ModelAndView insertBoard(CommandMap commandMap, HttpServletRequest request) throws Exception{ ModelAndView mv = new ModelAndView("redirect:/sample/openBoardList"); String contents = ((String)commandMap.get("CONTENTS")).replace("\r\n","<br>"); commandMap.put("CONTENTS", contents); sampleService.insertBoard(commandMap.getMap(),request); return mv; } | cs |
위와 같이 textarea안의 내용을 받아와서 \r\n부분을 모두 <br>tag로 replace 적용해서 DB에 저장을 하면 DB안에 <br>tag가 같이 저장이 된다.
반대로 DB에서 가져올때 <br> 을 개행문자(\r\n) 로 변환하면 된다.
'Spring' 카테고리의 다른 글
@RestController 와 @Controller 의 차이 (0) | 2021.01.06 |
---|---|
Swagger - API 문서 자동화 (0) | 2020.09.07 |
[setting] Root context, Servlet context 차이점 (0) | 2017.07.23 |