[SpringBoot] Form으로 데이터 전송

KIMEUNSUN·2023년 3월 30일
0

GetMapping

jsp

<script type="text/javascript">
function fn_click(){
    document.frm.action = "<c:url value='ex/example'/>";
    document.frm.submit();
}
</script>

<form role="form" name="frm" id="frm" method="get" onsubmit="fn_click();return false;">
	<input id="userName" name="userName" type="text" placeholder="Enter your first name" value="${searchVO.userName}">
    <input id="userEmail" name="userEmail" type="email" placeholder="name@example.com" value="${searchVO.userEmail}">
    <input id="userPwd" name="userPwd" type="password" placeholder="Create a password" value="${searchVO.userPwd}">
    <button type="submit" >click</button>
</form>

VO

import lombok.Data;

@Data
public class UserVO {

    private String userName;
    private String userEmail;
    private String userPwd;
}

Controller

@GetMapping("/ex/example")
public ModelAndView example(HttpServletRequest request ,@ModelAttribute("searchVO") UserVO userVO){
	ModelAndView mav = new ModelAndView(request.getRequestURI());

    System.out.println(userVO.getUserEmail());
    System.out.println(userVO.getUserName());
    System.out.println(userVO.getUserPwd());
    return mav;
 }

PostMapping

jsp

<script type="text/javascript">
function fn_click(){
    var parameters = $("#frm").serialize();
    $.ajax({
        type:"post",
        dataType:"json",
        async:false,
        url:"<c:url value='/ex/example'/>",
        data:parameters ,
        success:function(data){
        
        }
    });
}
</script>

<form name="frm" id="frm" method="get" onsubmit="return false;">
	<input id="userName" name="userName" type="text" placeholder="Enter your first name" value="${searchVO.userName}">
    <input id="userEmail" name="userEmail" type="email" placeholder="name@example.com" value="${searchVO.userEmail}">
    <input id="userPwd" name="userPwd" type="password" placeholder="Create a password" value="${searchVO.userPwd}">
    <button onclick="fn_click();" >click</button>
</form>

VO

import lombok.Data;

@Data
public class UserVO {

    private String userName;
    private String userEmail;
    private String userPwd;
}

Controller

@PostMapping("/ex/example")
public void example(UserVO userVO){

    System.out.println(userVO.getUserEmail());
    System.out.println(userVO.getUserName());
    System.out.println(userVO.getUserPwd());
}

0개의 댓글