작성
·
422
0
<form action="item.html" th:action="/basic/items/add" method="post">th:action 뒷부분을 생략해도 된다고 하셨습니다. 왜냐하면 add에서 버튼을 누르고 나면 그 위치가 add이기 때문에 그대로 남아있을 거라고 해서요.. 근데 제가 지우지 않고 위와같은 코드로 프로그램을 돌려보니 화면이 안떠져서 f12를 눌러보니 500에러가 떠있더라구요.
답변 1
0
안녕하세요, 영 님! 공식 서포터즈 codesweaver 입니다.
1. 500에러는 백엔드 코드에 오류가 있을때 발생하는 오류입니다. 전체적인 자바 코드에 오류가 있는지 확인해보셔야 해요.
2. get과 post일 때 백엔드의 처리가 달르기 때문에 구분해서 사용하는 것입니다. /basic/items/add 라는 경로는 같지만 폼을 get으로 전송하는가 post로 전송하는가에 따라 컨트롤러의 어느 메소드에 연결될지 갈립니다.
@PostMapping(...) @GetMapping(...) 어느 프로세스를 선택할 것인가!
감사합니다.
안녕하세요 영님!
1. 폼에서 액션 값을 생략하면 자기자신을 의미합니다. 즉 폼 내역을 자기자신(=현재URL) 으로 전달합니다. 그런데 액션 값을 명시하면 문제가 발생하는 상태이니, 액션에 지정한 URL 경로에 문제가 있는것으로 추정할수 있는데요. 가능하시다면 전체 코드를 구글드라이브에 올려 공유해주시면 원인을 찾는데 도움이 될 것 같아요.
2. 만약 상품등록(add) 폼의 타입을 get 으로 전달할 경우, 상품등록은 실행되지 않을것이고, 상품등록 화면으로 다시 이동하겠지요? 그런데 이 과정이 제대로 처리 되지 않는다면 컨트롤러 코드를 살펴보아야 할것 같아요.
감사합니다.
그쵸 자기자신인데.. 분명 같은데 말이죠.. 아무리봐도..
이번 실습예제 베이스삼아서 date넣은 todolist를 만들면서 코드를 하나하나 뜯어 맛보고 있는데,
해당 부분 또 문제있게되면 질문드리겟습니다! 감사합니다~!
답변감사합니다. 1. 코드에 이상이 있어보이진 않습니다. 두번 진행하는 수업이기도하고 진행이 얼마되지 않아서 코드를 확인해봤는데 이상은 없네요. 그리고 1번질문은 위에 질문드린것과 같이 생략가능한 코드에서 생략을 하면 실행이되고 생략을 안해도 무방한데 생략을 안하고 그대로 적으면 왜 실행이 안되는지가 궁금합니다.(코드엔 이상이 없어요.)
2. post방식 get방식이 서로 다른건 알겠는데 강의에서 post를 쓴걸 get으로 하면 안되는 이유가 어떻게 될까요?
(리다이렉트하고 관련이 잇는걸까요..?)
시간내주셔 감사합니다!