인프런 커뮤니티 질문&답변
board_info_idx 관련된 400에러 코드
작성
·
886
0
HTTP 상태 400 – 잘못된 요청
타입 상태 보고
메시지 Required int parameter 'board_info_idx' is not present
설명 클라이언트 오류로서 인지된 어떤 문제로 인하여, 서버가 해당 요청을 처리할 수 없거나, 처리하지 않을 것입니다. (예: 잘못된 요청 문법, 유효하지 않은 요청 메시지 framing, 또는 신뢰할 수 없는 요청 라우팅).
Apache Tomcat/9.0.36
에러 코드이구요 url 확인해보면 read?뒤에 값들은 잘 들어오는데 board_inf_idx에서 %20이 붙기는 하네요.
디비 연결도 잘 되고 디비에 저장도 됩니다. 글쓰기 누를시에 이렇게 에러가 뜨는데 이유를 모르겠습니다
requestparam 부분에서 board_info_idx를 못받아왔나 싶어서 확인해도 잘 들어가 있는거 같구요 ㅠㅠ 도와주시면 감사하겠습니다.
컨트롤러 소스 입니다.
@GetMapping("/read")
public String read(@RequestParam("board_info_idx") int board_info_idx,
@RequestParam("content_idx") int content_idx,
Model model) {
model.addAttribute("board_info_idx", board_info_idx);
ContentBean readContentBean = boardService.getContentInfo(content_idx);
model.addAttribute("readContentBean", readContentBean);
return "board/read";
}
@GetMapping("/write")
public String write(@ModelAttribute("writeContentBean") ContentBean writeContentBean,
@RequestParam("board_info_idx") int board_info_idx) {
writeContentBean.setContent_board_idx(board_info_idx);
return "board/write";
}
@PostMapping("/write_pro")
public String write_pro(@Valid @ModelAttribute("writeContentBean")
ContentBean writeContentBean, BindingResult result) {
if(result.hasErrors()) {
return "board/write";
}
//이 빈에는 새로 작성된 idx값이 들어오게 된다. (nextval로 한개가 증가된 상태)
boardService.addContentInfo(writeContentBean);
return "board/write_success";
}
jsp 소스입니다.
<div class="container" style="margin-top:100px">
<div class="row">
<div class="col-sm-3"></div>
<div class="col-sm-6">
<div class="card shadow">
<div class="card-body">
<form:form action='${root }board/write_pro' method='post'
modelAttribute="writeContentBean" enctype="multipart/form-data">
<form:hidden path = "content_board_idx"/>
<div class="form-group">
<form:label path="content_subject">제목</form:label>
<form:input path="content_subject" class='form-control'/>
<form:errors path='content_subject' style='color:red'/>
</div>
<div class="form-group">
<form:label path="content_text">내용</form:label>
<form:textarea path="content_text" class="form-control" rows="10" style="resize: none"/>
<form:errors path='content_text' style='color:red'/>
</div>
<div class="form-group">
<form:label path="upload_file">첨부이미지</form:label>
<form:input type="file" path='upload_file' class="form-control" accept="image/*"/>
</div>
<div class="form-group">
<div class="text-right">
<form:button class='btn btn-primary'>작성하기</form:button>
</div>
</div>
</form:form>
</div>
</div>
</div>
<div class="col-sm-3"></div>
</div>
</div>
서섹스 소스입니다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var = 'root' value='${pageContext.request.contextPath }/'/>
<script>
alert('저장되었습니다')
location.href = '${root}/board/read?board_info_idx =${writeContentBean.content_board_idx}&content_idx=${writeContentBean.content_idx}'
</script>





