질문드립니다
630
작성한 질문수 32
안녕하세요 선생님!
스프1탄 복습하고자 제가 만들고 싶은 게시판 만들고 있는데 문제가 생겼습니다.
스프1탄과 마찬가지로 header를 공통부분으로 하고 jsp:include page 사용해서 공통적으로 헤더를 적용했습니다.
게시판 수정을 위해서
@RequestMapping("/boardUpdate/{idx}")
public String boardUpdateForm(@PathVariable("idx") int idx, Model model) {
~~
}
이런식으로 컨트롤러에서 했구요.
boardUpdateForm.jsp는 form으로 해서 제출하게 했고 스프1탄에서 배운대로 form action에 그냥 boardUpdate 하지 않고 ../boardUpdate를 적용 했습니다.
그런데 문제는
HTTP 상태 400 – 잘못된 요청
타입 상태 보고
메시지 Required int parameter 'idx' is not present
설명 클라이언트 오류로서 인지된 어떤 문제로 인하여, 서버가 해당 요청을 처리할 수 없거나, 처리하지 않을 것입니다. (예: 잘못된 요청 문법, 유효하지 않은 요청 메시지 framing, 또는 신뢰할 수 없는 요청 라우팅).
이런식으로 잘못된 요청이라고 나옵니다.
그리고 헤더에 로고 경로를 src="resources/images/logo.png" 이렇게 해줬습니다.
그런데 이 이미지가 다른데서는 다 되는데 update 페이지 에서는 표시가 되지 않고
No mapping found for HTTP request with URI [/m01/boardUpdate/resources/images/logo.png]
이런식으로 console에 나오게 됩니다. 이것 뿐만 아니라 목록으로 가기 버튼도 만들었는데 마찬가지로 작동이 되지 않고 잘못된 요청이 나옵니다.
아무래도 pathvarible 이후로 경로가 context path/에서 context path/boardUpdate/ 로 바뀌어서 그런 것 같은데 도저히 수정이 안 되네요 ..
아래는 boardController.java입니다.
@Controller
public class BoardController {
@Autowired
private BoardMapper boardmapper;
// HandlerMapping
@RequestMapping("/")
public String root() {
return "redirect:/main";
}
@RequestMapping("/main")
public String main(Model model) {
List<Board> list = boardmapper.getLists();
model.addAttribute("list", list);
return "main"; // /WEB-INF/views/main.jsp -> forward
}
@RequestMapping("/boardWriteForm")
public String boardWriteForm() {
return "boardWriteForm";
}
@RequestMapping("/boardWrite")
public String boardWrite(Board vo) {
boardmapper.write(vo);
return "redirect:/main";
}
@RequestMapping("/boardMore")
public String boardMore(@RequestParam("idx") int idx, Model model) {
boardmapper.boardCount(idx);
Board vo = boardmapper.boardMore(idx);
model.addAttribute("vo", vo);
return "boardMore";
}
@RequestMapping("/boardDelete/{idx}")
public String boardDelete(@PathVariable("idx") int idx) {
boardmapper.boardDelete(idx);
return "redirect:/main";
}
@RequestMapping("/boardUpdate/{idx}")
public String boardUpdateForm(@PathVariable("idx") int idx, Model model) {
Board vo = boardmapper.boardMore(idx);
model.addAttribute("vo", vo);
return "boardUpdateForm";
}
@RequestMapping("/boardUpdate")
public String boardUpdate(Board vo) {
boardmapper.boardUpdate(vo);
return "redirect:/boardMore";
}
}
아래는 boardUpdateForm.jsp입니다.
<body>
<jsp:include page="header.jsp" />
<div class="container">
<h2>게시글 수정</h2>
<form action="../boardUpdate" method="post">
<input type="hidden" name="idx" value="${vo.idx}" />
<table class="table table-bordered">
<tr>
<td style="min-width: 100px;">제목</td>
<td><input type="text" name="title" class="form-control"
value="${vo.title}" required></td>
</tr>
<tr>
<td>내용</td>
<td><textarea name="content" class="form-control" rows="10"
required>${vo.content}</textarea></td>
</tr>
<tr>
<!-- 추후 세션으로 처리 -->
<td>작성자</td>
<td><input type="text" name="writer" class="form-control"
value="${vo.writer}" readonly></td>
</tr>
<tr>
<td colspan="2" align="right">
<button type="button" class="btn btn-danger"
onclick="location.href='../boardMore'">취소</button>
<button type="submit" class="btn btn-primary">수정완료</button>
</td>
</tr>
</table>
</form>
</div>
</body>
답변 1
0
@RequestMapping("/boardUpdate")
public String boardUpdateForm(int idx, Model model) {
이렇게 수정해서 해보시기 바랍니다.
<input type="hidden" name="idx" value="${vo.idx}" />
폼에서 hidden으로 파라메터(idx)가 넘어오기 때문에 위처럼 받아야됩니다.
재생이 안되요
0
118
0
404 HTTP 상태 코드
0
166
2
lombok api 등록 후
0
180
2
UsernamePasswordAuthenticationToken 생성에 대해서 질문이 있습니다.
0
225
1
@RequestBody에 관해서 질문이요.
0
186
1
MVC06에 회원정보수정, 이미지등록수정 강의 영상이 없습니다
2
215
1
namespace 칸이 없습니다.
0
284
2
프로젝트 생성시 Srping MVC Project 없음
0
361
1
spring security 이후 Spring MVC06
0
226
1
Lomkob API 관련
0
205
1
깃허브 주소
0
267
1
포워딩오류? 인거 같습니다
0
343
1
css바꾸고 싶을때
0
312
1
git 연결할때 오류
0
267
1
프로젝트 생성시 Srping MVC Project 없음
0
1068
1
Oracle을 연결하고 싶은데, sql파일을 만들고나면...
0
284
1
프로젝트 생성시 Srping MVC Project 없음
0
4731
6
43강 age 0오류
0
301
1
Controller의 BoardMapper 쪽에서 문제가 있습니다.
0
386
1
Spring05 버전에서 이미지를 설정했을 때 권한이 보이지 않습니다
0
243
1
스프링 시큐리티 로그인 후 모달창 질문드립니다
0
630
0
아이디 중복확인 NullPointerException
0
366
2
새로고침해야만 등록한 글이 리스트에 뜹니다.
0
251
1
회원테이블과 권한테이블 간 관계
0
475
1





