2016-07-21 2 views
2

을 작동하지 않습니다 :사용자 정의 스트럿츠 형식 변환기는 내가 지금처럼 <code>Date</code> 변수에 대한 게터/세터를 할

private Date registrationDate; 

@TypeConversion(converter = "org.com.helper.DataHelper") 
public Date getRegistrationDate() { 
    return registrationDate; 
} 

@TypeConversion(converter = "org.com.helper.DataHelper") 
public void setRegistrationDate(Date registrationDate) { 
    this.registrationDate = registrationDate; 
} 

당신은 내가에 들어오는 문자열을 변환하는 사용자 정의 struts 컨버터를 만든 볼 수 있듯이 Date 형식으로 지정한 다음 할당하십시오. 그러나 그것은 효과가없는 것처럼 보입니다.

public class DateHelper extends StrutsTypeConverter { 

    private static final DateFormat FORMAT = new SimpleDateFormat("dd-MM-yyyy"); 

    @Override 
    public Object convertFromString(Map arg0, String[] values, Class arg2) { 
      try { 
       System.out.println(values[0]+"called from datahelper"); 

       return FORMAT.parse(values[0]); 
      } catch (Exception e) { 
       throw new TypeConversionException(e.getMessage()); 
      } 
    } 

    @Override 
    public String convertToString(Map arg0, Object value) { 
     try { 
      return FORMAT.format(value); 
     } catch (Exception e) { 
      throw new TypeConversionException(e.getMessage()); 
     } 
    } 

} 

내가 얻고 양식 데이터를 구문 분석 struts2-json 플러그인을 사용 : 여기 DateHelper에 대한 코드입니다. 이 플러그인은 자동으로 모든 문자열 값을 할당하지만 Date에 문제가 있습니다.

이것은 양식에서 Java로 전달되는 데이터를 얻는 방법입니다.

{"data":{"recordId":"123","registrationDate":"20-07-2016","hisId":"","herId":"","lastNameHe":"Asd","firstNameHe":"Asd","middleNameHe":"Asd","workPlaceHe":"","educationHe"}} 

그래서, 내 헬퍼 클래스를 호출하고 date로 문자열을 변환 한 후 registrationDate 세터를 호출해야 registrationDate 설정을 시작하기 전에 코드를 이해 ...하지만이 작동하지 않습니다에 따라 .. 심지어 도우미 코드에서 log 호출을 넣었지만 일식 나타나지 않습니다.

답변

2

struts2-json-plugin처럼 기본 유형 변환을 사용하지 않는 것 같습니다. :(

당신이 @JSON 주석을 사용할 수있는 날짜 형식의 설정 방법

format 재산

@JSON(format = "dd.MM.yyyy") 
public void setRegistrationDate(Date registrationDate) { 
    this.registrationDate = registrationDate; 
} 

JSON 플러그인 문서 -.. 영업 이익은 Customizing Serialization and Deserialization

+0

오, 그렇군요 ...이 이상하다라는 처음 알게되면 다음 :) 좋은 Q & A –

+0

@AndreaLigios 그래, json 플러그인 정말 리팩터링해야합니다. –

+0

"JSON을 유형으로 확인할 수 없습니다."라는 메시지가 표시되며 가져올 수있는 라이브러리가 없습니다. 그것은 잭슨 뷰를 사용하도록 제안합니다 .. – Daler