2011-08-05 1 views
0

제 3자가 쿼리 문자열을 통해 내 도메인 개체를 채우기 위해 데이터의 일부를 보내고 있습니다. 부분적으로 내 도메인 객체를 채우고 사용자가 양식을 통해 나머지 부분을 채우게하십시오. 들어오는 쿼리 문자열 매개 변수를 제어 할 수는 없으므로 변경할 수는 없지만 실제로는하지 않고 Spring MVC의 데이터 바인딩 기능을 사용할 수 있기를 정말로 바랍니다.Spring MVC 3에서 쿼리 문자열 매개 변수가 객체 필드와 일치하지 않으면 어떻게 객체를 쿼리 문자열에 바인딩합니까?

어떻게하면됩니까?

일부 복잡성을 추가하려면 매개 변수 중 일부는 아직 존재하지 않을 수도 있고 생성해야하는 다른 개체 (예 : 이름으로 사용자 매핑)와 매핑되기 때문에 광범위한 처리가 필요합니다. 이 부분은 속성 편집기를 사용하여 처리 할 수 ​​있다고 가정합니다. 이 문제가 생기면 다른 질문을하겠습니다.

부분적으로 채워진 도메인 객체를 가지고 편집 뷰에 전달하면 문제는 없지만 초기 도메인 객체 채우기를 올바르게 처리하는 방법을 알지 못합니다.

+0

여기에서 시작하십시오. http://static.springsource.org/spring/docs/3.1.0.M2/javadoc-api/org/springframework/web/bind/support/WebRequestDataBinder.html – DwB

+0

도움이 될 수 있습니다 : http : //static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html#mvc-ann-webdatabinder – DwB

답변

0

내가 지금까지 생각해 낼 수 있었던 유일한 점은 인바운드 쿼리 매개 변수와이 중개 클래스에서 내 도메인 클래스로 변환하는 함수와 일치하는 속성이있는 추가 클래스를 갖는 것입니다.

변수 이름 사이를 매핑하는 데 오버 헤드가 많이 걸리는 것처럼 보입니다.

0

세터와 다르게 명명 된 게터를 갖거나 필요한 경우 게터 2 개 및 설정자 2 개를 가질 수 없습니까?

private int spn; 

// Standard getter/setter  

public int getSpn() { 
    return spn; 
} 

public void setSpn(int spn) { 
    this.spn = spn; 
} 


// More descriptively named getter/setter 

public int getShortParameterName() { 
    return spn; 
} 

public void setShortParameterName(int spn) { 
    this.spn = spn; 
} 

아마도 표준 콩 규칙이 아니지만 확실하게 작동할까요?

관련 문제