본문 바로가기
Spring/JavaScript+Jsp(HTMl)

[JavaScript] href post 방식으로 전송하여 페이지 이동 방법

by snow_hong 2023. 8. 9.

jps에서 <a href="~">사용하면 get방식으로 페이지 이동된다.

 

만약 java에서 페이지 method를 post로 설정하였다면 에러가 난다.

@RequestMapping(value = "/test/list", method = {RequestMethod.POST})
    public String test(ModelMap modelMap,
            @RequestParam(value = "test", required = false) String test) {

    	modelMap.addAttribute("test", test);
       
        return setTilesTitle(modelMap, "test").callTilesView("jsp/test/list", TILES_TPL.DEFUALT);
    }

위에 처럼 post방식으로만 확인한다면 get방식으로 접근은 불가능하다.

 

a태그를 get방식이 아니라 post방식으로 전송하여 페이지 이동방법에 알아보자!

방법은 간단하다. 함수를 추가하고 그 함수안에서 post로 넘기면 된다.

 

[get 방식]
<a href="/test/list.do"><span>목록</span></a>

[post방식]
<a href="javascript:gotoList();"><span>목록</span></a>

//페이지이동함수
function gotoList(){
        let pageMoveForm = document.createElement('form');
        /* // 인수값넣을경우
        let obj = document.createElement('input');
   		 obj.setAttribute('type', 'hidden');
  		 obj.setAttribute('name', 'userid');
  		 obj.setAttribute('value', userid);
         pageMoveForm.appendChild(obj);
        */
        pageMoveForm.setAttribute('method', 'post');
        pageMoveForm.setAttribute('action', '/test/list.do');
        document.body.appendChild(pageMoveForm);
        pageMoveForm.submit(); 
    }

 

728x90

댓글