inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 프레임워크는 내 손에 [스프1탄]

질문드립니다

630

학운학운

작성한 질문수 32

0

안녕하세요 선생님!

 

스프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>

 

 

MVC jsp spring Spring Security

답변 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