struts2 날짜 형식 변환을 어떻게 해결합니까

2149 단어 struts2날짜변환
따라서 시스템이 Date 형식을 정확하게 변환해야 한다는 것을 확보하려면 전역적인 형식 변환 클래스를 써서 Date와 String 간의 형식 변환을 해야 한다.

package com.great.util;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

import com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter;

public class DateConverter extends DefaultTypeConverter {
    private static final DateFormat[] ACCEPT_DATE_FORMATS = {
            new SimpleDateFormat("dd/MM/yyyy"),
            new SimpleDateFormat("yyyy-MM-dd"),
            new SimpleDateFormat("yyyy/MM/dd") }; //

    @Override
    public Object convertValue(Map context, Object value, Class toType) {
        if (toType == Date.class) {  // , String to Date
            Date date = null;
            String dateString = null;
            String[] params = (String[])value;
            dateString = params[0];//
            for (DateFormat format : ACCEPT_DATE_FORMATS) {
                try {
                    return format.parse(dateString);// ,
                } catch(Exception e) {
                    continue;
                }
            }
            return null;
        }
        else if (toType == String.class) {   // , Date to String
            Date date = (Date)value;
            return new SimpleDateFormat("yyyy-MM-dd").format(date);// yyyy-MM-dd
        }

        return null;
    }
}

루트 디렉터리에서 xwork-conversion을 만듭니다.properties 파일, 다음 문장, 등록 형식 변환기java를 추가합니다.util.Date=com.great.util.DateConverter의 com.great.util.DateConverter는 이름 공간을 포함하는 날짜 변환 클래스의 전체 이름입니다. 
그리고 많은 사람들이 큰 공을 세웠다.
나는 아직 성공하지 못했다. 시스템이 틀렸다
      “ERROR (CommonsLogger.java:27) - Conversion registration error”
      “java.lang.ClassNotFoundException: com.great.util.DateConverter”
등록 형식 변환기가 성공하지 못했습니까?
자세히 살펴보니 "java.util.Date=com.great.util.DateConverter"뒤에 빈칸이 하나 더 있습니다!진상이 밝혀졌다.빈칸을 빼고 다시 실행, 성공!

좋은 웹페이지 즐겨찾기