(該實例在Jhonemap_server系統中的meeting_edit.html網頁中與TWH_meeting實體類)
當數據涉及到時間的時候,要么在前台處理要么在后台處理,無論哪種處理方式都會調用到對應的時間處理工具類,前台是js文件后台是Java文件。此處所說的是在后台處理。
先從數據的添加說起
點擊新建按鈕,會跳轉到有form表單的新建頁面。以下是新建頁面的時間添加
<td width="20%" class="Rightxs">開始時間</td> <td> <input class="easyui-datetimebox" editable=false type="text" id="meetingbegintime" name="showmeetingbegintime" data-options="required:true,showSeconds:false" style="width:200px;"/> </td> <td width="20%" class="Rightxs">結束時間</td> <td> <input class="easyui-datetimebox" editable=false type="text" id="meetingendtime" name="showmeetingendtime" data-options="required:true,showSeconds:false" style="width:200px;"/> </td>
表單其他字段都一樣,由於后台要對時間進行特殊處理,前台當然要在新建的時候有所配合,該新建直接通過表單name屬性序列化獲取內容,其中時間的name屬性並不是數據庫表中字段屬性,而是實體類中處理時間的一個中介屬性
在實體類中跟時間相關的屬性,這是與數據庫字段對應的屬性
所對應的get/set方法
以下是對時間的進行處理的中介屬性
所對應的get/set方法
保存表單通過showmeetingbegintime與showmeetingendtime將時間name屬性序列化到后台實體類中去,實體類中的兩個中介屬性接收到該時間,在實體類中通過調用DateUtil中的longTime方法對時間進行處理,處理過后的時間再賦值給meetingbegintime與meetingendtime。從而進行sql語句的執行,完成更新操作
因此showmeetingbegintime與showmeetingendtime的時間數據是包含年月日的,因為是直接接受前台的,通過處理后meetingbegintime與meetingendtime是不包含年月日的,這是需要存到數據庫中的
值得注意的是:
僅僅是meeting_edit頁面的時間name需要寫成showmeetingbegintime與showmeetingendtime
在其列表頁面meeting_list與查看頁面meeting_info中還是寫成meetingbegintime與meetingendtime,因為在顯示在該兩個頁面上的時間都是在前台進行處理的。只有更新頁面時間是在后台實體類中進行處理。因為前台顯示是需要拼接年月日的,而后台實體類所處理的僅僅是將年月日去掉的方法,因此前台顯示需要調用另一個方法去實現。
列表頁面時間:
查看頁面時間:
總之:
在實體類中的時間處理是對增加與修改的時間進行處理的,因此需要在更新頁面注意其表單name屬性值,與列表頁面查看頁面沒有關系,該兩個頁面的時間都是通過本身的時間屬性字段在前台進行處理的。