Struts2 Datetime picker displayformat issue

橙三吉。 提交于 2019-12-06 14:39:09
batbaatar

You need to use your custom DateTime converter.

In your xwork-conversion.properties (create if you don't have one) file put this line:

java.util.Date = org.yourproject.common.StringToDateTimeConverter

And in your StringToDateTimeConverter, have code something like this

import java.util.*
import java.text.DateFormat.*;

    public class StringToDateTimeConverter extends StrutsTypeConverter{

        public Object convertFromString(Map context, String[] strings, Class toClass) {     

            DateFormat DATETIME_FORMAT = getDateInstance(SHORT, Locale.getDefault());

            if (strings == null || strings.length == 0 || strings[0].trim().length() == 0) {
                return null;
            }

            try
            {
                DATETIME_FORMAT.setLenient(false);
                return DATETIME_FORMAT.parseObject(strings[0]);

            } catch (ParseException e) {
                //throw new TypeConversionException(); <-- if you want to catch conversion error
                return null;
            }
        }

        public String convertToString(Map context, Object date) {
            DateFormat DATETIME_FORMAT = getDateInstance(SHORT, Locale.getDefault());
            if (date != null && date instanceof Date) {
                return DATETIME_FORMAT.format(date);
            } else {
                return null;
            }
        }
    }

References:

Java Date Format for Locale

http://www.roseindia.net/java/java-get-example/java-get-default-locale.shtml

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!