#java #struts2
#java #struts2
Вопрос:
Я знаю, что struts2 может преобразовывать строки в даты при заполнении полей моего контроллера, однако это делается при условии, что строка даты находится в КОРОТКОМ формате. Есть ли способ указать другой формат для использования struts (например, ‘гггг-ММ-дд’)?
Ответ №1:
Вам нужно создать свой собственный конвертер CustomType, который может изменять заданную дату в любой формат. Что-то вроде
public class MyDateConvertor extends StrutsTypeConverter {
public Object convertFromString(Map context, String[] values, Class
toClass) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = (Date) sdf.parse(values[0]);
return new java.sql.Date(date.getTime()) ;
} catch (ParseException e) {
return values[0];
}
}
public String convertToString(Map context, Object o) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(o);
}
}
Вы можете получить более подробную информацию из официальных документов Struts2, и вот подробности