SpringMVC 파라미터 귀속 의미 및 실현 과정 분석

매개 변수 바 인 딩 정의
매개 변수 바 인 딩 이란 쉽게 말 하면 클 라 이언 트 가 요청 을 보 내 는 것 이 고 요청 에 일부 데 이 터 를 포함 하면 이 데 이 터 는 어떻게 Controller 에 도착 합 니까?클 라 이언 트 에서 key/value 데이터(예 를 들 어 get 요청 에 포 함 된 데이터)를 요청 하고 매개 변수 바 인 딩 을 통 해 key/value 데 이 터 를 contrller 방법의 인삼 에 연결 합 니 다.springmvc 에서 수신 페이지 에서 제출 한 데 이 터 는 방법 형 참 을 통 해 수신 합 니 다.controller 클래스 에서 구성원 변 수 를 정의 하 는 것 이 아 닙 니 다.

SpringMVC 에서 기본적으로 지원 하 는 형식

사용자 정의 매개 변수 형식 바 인 딩
일부 매개 변수 유형 에 대해 우리 가 입력 한 매개 변수의 유형 과 실체 류 의 매개 변수 유형 이 다 르 기 때문에 전송 값 이 성공 하지 못 할 때 매개 변수 유형 을 연결 해 야 합 니 다.Date 형식 을 예 로 들 어 사용자 정의 매개 변수 형식 바 인 딩 을 어떻게 하 는 지 소개 합 니 다.
User.java

import java.util.Date;
public class User {
	private Integer id;
	private String username;
	private String sex;
	private Date birthday;
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username == null ? null : username.trim();
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex == null ? null : sex.trim();
	}
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
}
JSP 페이지:입력 상자 의 name 속성 값 과 위의 POJO 실체 류 의 속성 이 일치 하면 매 핑 에 성공 할 수 있 습 니 다.

<form action="pojo" method="post">
      id:<input type="text" name="id" value="2"></br>
       :<input type="text" name="username" value="Marry"></br>
      :<input type="text" name="sex" value=" "></br>
        :<input type="text" name="birthday" value="2017-08-25"></br>
    <input type="submit" value="  ">
  </form>
우리 가 입력 한 birthday 는 String 형식 이지 만 실체 클래스 의 birthday 는 Date 형식 이기 때문에 연결 에 성공 하지 못 합 니 다.해당 하 는 contrller 를 요청 하면 다음 과 같은 오류 가 발생 합 니 다.

따라서 매개 변수 바 인 딩 이 필요 합 니 다.
매개 변수 바 인 딩 은 주로 두 단계 포함:
1.변환기 인 터 페 이 스 를 새로 만 듭 니 다.

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
 
import org.springframework.core.convert.converter.Converter;
 
//    Converter  ,    String     Date  
public class DateConverter implements Converter<String, Date> {
 
  @Override
  public Date convert(String source) {
    //            (   yyyy-MM-dd HH:mm:ss)
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    try {
      return dateFormat.parse(source);
    } catch (ParseException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    //          null
    return null;
  }
}
2.설정 파일 에서 설정

<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>
  <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
    <property name="converters">
      <!--           -->
      <bean class="com.ys.util.DateConverter"></bean>
    </property>
  </bean>
이렇게 하면 사용자 정의 매개 변수 형식의 바 인 딩 이 완 료 됩 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기