2016-11-05 4 views
0

j2ee의 초심자와 제가 해결할 수없는 한 가지 문제가 있습니다. 날짜에 LocalDateTime를 변환,이 경우JSF를 통한 Date와 LocalDateTime 간의 변환

@Convert(converter = LocalDateTimeConverter.class) 
@Column(name = "date_time_complete") 
private LocalDateTime completeDate; 

반대로 나는 계산기

@Converter 
public class LocalDateTimeConverter implements AttributeConverter<LocalDateTime, Date> { 

    public Date convertToDatabaseColumn(LocalDateTime attribute) { 
     return TimeUtil.LDTtoDate(attribute); 
    } 

    public LocalDateTime convertToEntityAttribute(Date dbData) { 
     return LocalDateTime.ofInstant(dbData.toInstant(), ZoneId.systemDefault()); 
    } 
} 
을했다 : 내 응용 프로그램은 봄, Hibernate4 및 JSF 2 * 내 모델 개체 (이름 태스크는) 다음 필드가 사용 내 .xhtml에서

내가

<td><h:inputText id="date" value="#{task.completeDate}"> 
        <f:convertDateTime pattern="dd.MM.yyyy"/> 
       </h:inputText> 

내 개체를 저장하기 위해 노력하고있어, 나는 메시지와 함께 ELException를 얻을 다음 코드를 "java.time.Loc에 java.util.Date를 변환 할 수 없습니다 alDateTime " 디버깅 앱 convertToEntityAttribute에 중단 점을 만들지 만 작동하지 않습니다. 일반적으로 jsf가 LocalDateTime과 함께 작동하는 방식을 알고 싶습니다. 이 응용 프로그램에서는 completeDate 필드를 입력 할 필요가 없습니다. 작업 객체를 만들 때이 빈/null을 유지해야합니다. 내가 어떻게 해?

답변

0

JSF 용 기본 변환기가 있습니다. 그들은 예를 들어 입력 텍스트에서 bean 속성으로 뷰 데이터를 변환합니다. inputText를 Double 속성으로 변환하는 것과 같습니다. 다행히도 Jsf는 자체 컨버터를 만드는 방법을 제공하므로 tutorialthis one too을 확인해야합니다. LocalDateTime 속성에 대한 변환기를 만들 수 있습니다! 코드를 바로 작성하려면이 사람이 당신과 동일한 문제를 가지고 jsf 변환기로 해결하십시오 !! See here his solution