728x90
<!-- 게시물 등록 폼을 위한 jsp 파일입니다. -->
<div id="board">
<div id="writeForm">
<form action="/site/board?" method="get">
<input type="hidden" name = "action" value="write">
<!-- 제목 -->
<div class="form-group">
<label class="form-text" for="txt-title">제목</label>
<input type="text" id="txt-title" name="title" value="" placeholder="제목을 입력해 주세요">
</div>
<!-- 내용 -->
<div class="form-group">
<textarea id="txt-content" name ="content"></textarea>
</div>
<a id="btn_cancel" href="/site/board">취소</a>
<button id="btn_add" type="submit" >등록</button>
</form>
<!-- //form -->
</div>
HTML을 사용하여
name = "title"로 제목을 받고
name = "content"로 본문을 받아왔다.
// 게시물 등록을 위한 컨트롤러.java 파일입니다.
else if("write".equals(action)) {
System.out.println("board > write");
HttpSession session = request.getSession();
UserVo authUser = (UserVo)session.getAttribute("authUser");
int userNo = authUser.getNo();
String title = request.getParameter("title");
String content = request.getParameter("content");
BoardVo bVo = new BoardVo();
bVo.setTitle(title);
bVo.setContent(content);
bVo.setUserNo(userNo);
BoardDao bDao = new BoardDao();
bDao.boardInsert(bVo);
WebUtil.redirect(request, response, "/site/board");
}
그리고 위의 컨트롤러에 구현한 "write"를 진행할 때
위와 같이 세로로 본문을 입력하여 게시물을 업로드하고 해당 게시물에 다시 들어간다면
위와 같이 세로 입력이 아닌 띄어쓰기 형태로 본문에 저장된다.
이는 html 특성으로 인해 발생하는 현상으로 볼 수 있는 것 같다.
html에서 줄 바꿈은 <br> 태그를 통해서만 진행되기 때문이다.
그래서 그런지 수정을 눌러 수정 화면으로 들어가게 되면
본문과는 다르게 줄 바꿈이 유지되어 있다.
이를 수정하기 위해서는
위의 컨트롤러에 적힌 해당 코드를
bVo.setContent(content);
replace를 사용하여 해당 코드와 같이 변환해주면 줄 바꿈을 이뤄낼 수 있다.
bVo.setContent(content.replace("\n", "<br>"));
그리고 수정 화면으로 들어가 보면
다음과 같이 원하는 대로 구현하였음을 알 수 있다.
반응형
'Server > Java' 카테고리의 다른 글
[Jsp&Servlet] 본인 게시물 조회수 증가 방지 Controller & Dao (0) | 2022.06.09 |
---|---|
[Jsp&Servlet] 검색과 리스팅을 한번에! Controller & DAO & jsp (0) | 2022.06.09 |
[Jsp&Servlet] EL 같은 이름의 내장 객체에 대한 우선 순위 (0) | 2022.06.09 |
[Jsp&Servlet] JSTL <c:foreach> , ${sessionScope}태그; 게시물 목록 불러오기 (0) | 2022.06.08 |
[Jsp&Servlet] JSTL <c:foreach> 태그 (0) | 2022.06.07 |