0

こんにちは、カスタム プロパティ エディターの問題で立ち往生しています。以下は私のコードです*フラグメント: *

  import java.beans.PropertyEditorSupport;
  import java.text.DateFormat;
  import java.text.SimpleDateFormat;
  import java.util.Calendar;
  import java.util.Date;
  import org.joda.time.format.DateTimeFormatter;
  import org.joda.time.format.ISODateTimeFormat;
  public class CustomCalendarEditor extends PropertyEditorSupport {

         private  Date date;
         @Override
         public String getAsText() {
           Calendar value = (Calendar) getValue();
           Date dateTime = value.getTime();
           System.out.println("in editor--->"+dateTime);
           return dateTime.toString();
         }
         @Override
         public void setAsText(String text) throws IllegalArgumentException {
           try { 
               DateFormat formatter ; 
               Date date ; 
               formatter = new SimpleDateFormat("dd/MM/yyyy");
               date = (Date)formatter.parse(text); 
               Calendar cal=Calendar.getInstance();
               cal.setTime(date);
               System.out.println("Today is " +date );
               setValue(cal);
          }catch(Exception e){
               e.printStackTrace();
         }}
   }

上記の方法から、次のように春の形で表示するためにオブジェクトを日付にgetAstext変換しています。Calendar

form:input path="dateTime" value=" ${catalogingInfo.dateTime}"

getAstextが呼び出されていますが、日付が適切な形式で表示されていません。次のように表示されています。

java.util.GregorianCalendar[time=?,areFieldsSet=false,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Calcutta",offset=19800000,dstSavings=0,useDaylight=false,transitions=6,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2011,MONTH=5,WEEK_OF_YEAR=1,WEEK_OF_MONTH=1,DAY_OF_MONTH=6,DAY_OF_YEAR=1,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=1,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=0,SECOND=0,MILLISECOND=0,ZONE_OFFSET=19800000,DST_OFFSET=0]

どこで間違いを犯しているのかわかりません。私の悪い英語でごめんなさい。

4

1 に答える 1

1

そうです、 toString を使用して日付やカレンダーをフォーマットすることはできないからです。SimpleDateFormat クラスとフォーマット操作を使用する

于 2012-07-31T14:24:35.340 に答える