编辑另存为一个 java.util.Date 字段的单独日期和时间字段
Edit separate Date and time fields that are saved as one java.util.Date field
实体:会议
private Date meetingDateAndTime;
@Transient
String meetingDate;
@Transient
String hour;
@Transient
String minutes;
豆子:
saveMeeting(){
String meetingTime = selectedMeeting.getHour()+":"+selectedMeeting.getMinutes();
Date calculatedDate = getAppendedTimeForDate(selectedMeeting.meetingDate,meetingTime);
selectedMeeting.setMeetingDateTime(calcualtedDate);
}
private static Date getAppendedTimeForDate(Date selectedDate,String t) throws Exception{
String d = new SimpleDateFormat("MM-dd-yyyy").format(selectedDate);
String DATE_FORMAT_NOW = "MM-dd-yyyy hh:mm";
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT_NOW);
Date calculatedDate=sdf.parse(d+" "+t);
return calculatedDate;
}
AddEditMeeting.xhtml:
<h:inputText value="selectedMeeting.meetingDate"/>
<h:inputText value="selectedMeeting.hour"/>
<h:inputText value="selectedMeeting.minute"/>\
使用 date
、hour
和 minutes
的单独输入文本,我能够以 MM-dd-yyyy hh:mm
格式在数据库中正确保存 meetingDateAndTime
,但要求也能够编辑这些值,即当用户选择会议时,将打开一个编辑页面,其中已经填充了日期、小时和分钟字段,然后用户可以编辑并保存回数据库。
不胜感激。
去掉所有临时成员,你不需要它们。
在页面的开头编写代码,获取 meetingDateAndTime,将其分解为日期、小时、分钟,并用它填充表单字段。
然后编写在提交表单时调用的附加代码,从表单字段中获取值,重建日期,并将其存储在 meetingDateAndTime 中。
编辑
易计算且很少用到的数据应该按需计算,不应该在内存中占用存储空间。此外,每当您有两个必须始终相互一致的数据项时,Murphy's law (wikipedia) 预测它们有时会不一致。
实体:会议
private Date meetingDateAndTime;
@Transient
String meetingDate;
@Transient
String hour;
@Transient
String minutes;
豆子:
saveMeeting(){
String meetingTime = selectedMeeting.getHour()+":"+selectedMeeting.getMinutes();
Date calculatedDate = getAppendedTimeForDate(selectedMeeting.meetingDate,meetingTime);
selectedMeeting.setMeetingDateTime(calcualtedDate);
}
private static Date getAppendedTimeForDate(Date selectedDate,String t) throws Exception{
String d = new SimpleDateFormat("MM-dd-yyyy").format(selectedDate);
String DATE_FORMAT_NOW = "MM-dd-yyyy hh:mm";
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT_NOW);
Date calculatedDate=sdf.parse(d+" "+t);
return calculatedDate;
}
AddEditMeeting.xhtml:
<h:inputText value="selectedMeeting.meetingDate"/>
<h:inputText value="selectedMeeting.hour"/>
<h:inputText value="selectedMeeting.minute"/>\
使用 date
、hour
和 minutes
的单独输入文本,我能够以 MM-dd-yyyy hh:mm
格式在数据库中正确保存 meetingDateAndTime
,但要求也能够编辑这些值,即当用户选择会议时,将打开一个编辑页面,其中已经填充了日期、小时和分钟字段,然后用户可以编辑并保存回数据库。
不胜感激。
去掉所有临时成员,你不需要它们。
在页面的开头编写代码,获取 meetingDateAndTime,将其分解为日期、小时、分钟,并用它填充表单字段。
然后编写在提交表单时调用的附加代码,从表单字段中获取值,重建日期,并将其存储在 meetingDateAndTime 中。
编辑
易计算且很少用到的数据应该按需计算,不应该在内存中占用存储空间。此外,每当您有两个必须始终相互一致的数据项时,Murphy's law (wikipedia) 预测它们有时会不一致。