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>
이렇게 하면 사용자 정의 매개 변수 형식의 바 인 딩 이 완 료 됩 니 다.이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.