[SPRING] :: 파라미터 전송

[SPRING] :: 파라미터 전송

# CONTROLLER.JAVA

package com.korea.param; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import vo.PersonVO; @Controller public class ParamController { // 경로 지정 public static final String VIEW_PATH = "/WEB-INF/views/person/"; // 등록 페이지로 이동하는 맵핑 주소 추가 @RequestMapping("/insert_form.do") public String insert_form() { return VIEW_PATH+"insert_form.jsp"; } /* 컨트롤러의 파라미터 전송 1 각각의 파라미터로 받는 방법 스프링에서는 넘어오는 파라미터의 명칭과 VO 파라미터의 명칭이 같다면, 파라미터는 REQUEST.GETPARAMETER으로 받지 않아도 자동으로 VO에 있는 자료형으로 변환 처리된다. */ @RequestMapping("/insert1.do") public String insert1(Model model, String name, int age, String tel) { // JSP에서 전달한 NAME, AGE, TEL의 값이 각각의 타입으로 변환된다. // 만약 명칭이 다른 경우 해당 파라미터를 받지 못한다. // 세가지의 변수를 VO객체에 저장 PersonVO vo = new PersonVO(name,age,tel); model.addAttribute("vo", vo); return VIEW_PATH+"insert_result.jsp"; } /* 컨트롤러의 파라미터 전송 2 VO객체로 한번에 모아서 보내는 방법 메소드의 인자로 VO객체를 넣는 경우 파라미터로 넘어온 값중 VO에 속성(명칭)이 일치하는 변수에 값이 자동으로 저장된다. 변수가 정확하게 일치하지 않아도 일치하는 변수만 따로 저장이된다. 일치하지 않는 변수는 메소드에서 파라미터로 따로 받아줘야만 사용할 수 있다. 만약 파라미터를 따로 추가시 VO 객체에 있는 명칭과 같은 경우 오류가 발생한다. 예시 : (INSERT2(MODEL MODEL, PERSONVO VO, STRING NAME)) */ @RequestMapping("insert2.do") public String insert2(Model model, PersonVO vo) { model.addAttribute("vo", vo); return VIEW_PATH+"insert_result.jsp"; } }

# INSERT_FORM . JSP

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> Insert title here // 파라미터 낱개로 보내기 function send1(f) { var name = f.name.value; var age = f.age.value; var tel = f.tel.value; // 0부터 9까지의 숫자를 최대 3자리까지만 입력하는 정규식 var pattern = /^[0-9]{1,3}$/; if(name==""){ alert("이름을 입력해주세요."); return; } if(age==""){ alert("나이를 입력해주세요."); return; } if(tel==""){ alert("전화번호를 입력해주세요."); return; } // PATTERN.TEST는 VAR PATTERN의 정규식을 위반하는지 체크하는 메소드이다. if(!pattern.test(age)){ alert("나이는 정수로 두자리까지만 가능합니다."); return; } f.action = "insert1.do"; f.submit(); } // 객체로 보내기 function send2(f) { f.action = "insert2.do"; f.submit(); } ::정보 입력:: 이름 나이 전화번호

# INSERT_RESULT.JSP

from http://hikr90.tistory.com/150 by ccl(A) rewrite - 2021-12-31 22:27:20