熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

JSP頁面中的精確到秒的時間控件

2013-11-15 12:00:51  來源: JSP教程 

  技術:Struts+jsp+MSql

  需求:ncmgt網絡監控系統中顯示用戶的操作日志並且根據操作時間查詢用戶的詳細操作記錄時間精確到秒

  大致效果如下上圖!

  

  大家可以清晰的看到紅色畫線部分就是根據時間查詢時間精確到秒不應該由用戶手動輸入不然會大大降低用戶體驗的性能這是就用到了時間控件就是這個小時鐘一樣的東西不過他只是一張圖片而已我們要知道它後面所隱藏的東西先給大家展示一下效果吧當我們點擊小時鐘的時候彈出

  

  這樣的日歷圖片可以看見最下面一行是加上時分秒的默認是沒有的哦

  下面說一下怎麼實現這個效果

  第一步:

  引入js文件

  在JSP頁面的頭部

  

  1. <script language="javascript" src="

  第二步:

  准備一張小圖片

  

  1. <!文本框用來接收用戶選中的時間並且傳給form裡的oplog實體類的屬性>  
  2.  
  3.   <input type="text" name="oplogSearchdateBegin" size="" value="" readonly="readonly" class="textarea">  
  4. <a href="javascript:buildCal(oplogListFormelements[oplogSearchdateBegin]true)">  
  5. <img id="IMG" src="請選擇日期" width="" height="" border=""></a> 

  當用戶選擇了時間下面這個function就負責把時間放進文本框並提交表單

  

  1. function closewin(){  
  2. //獲取登錄名和時間  
  3. parentdocumentforms[""]elements["oplogSearchopname"]value  
  4. =documentforms[""]elements["oplogSearchopname"]value;  
  5. parentdocumentforms[""]elements["oplogSearchdateBegin"]value  
  6. =documentforms[""]elements["oplogSearchdateBegin"]value;  
  7. parentdocumentforms[""]elements["oplogSearchdateEnd"]value  
  8. =documentforms[""]elements["oplogSearchdateEnd"]value;  
  9. parentdocumentforms[""]submit();  
  10. parentdocumentgetElementById(divWindow)styledisplay="none"; 

  

  • return false;  

  並不是提交表單就大功告成了有一個處理是很重要的如果用戶選擇的時間是自日 到就是我們常說的大於大的小於小

  這是不符合邏輯的就像大於又小於的數字哪裡有這樣的呢?為了避免這樣的值傳到後台的Action再用戶選擇了時間之後我們應該做處理

  

  1. function comparePair(){  
  2. var beginend;  
  3. begin = documentforms[""]elements["oplogSearchdateBegin"]value;  
  4. end = documentforms[""]elements["oplogSearchdateEnd"]value;  
  5. if(begin > end && end != ""){  
  6. alert("您選擇的時間有誤!);  
  7. return false;  
  8. }  
  9. return true;  

  這樣到後台就好處理了還有一點我用的MySql數據庫在mySQL中處理時間是不能用to_date()的那是Oracle裡的時間日期函數我們可以使用Dateformat();

  例如

  

  1. select count(*) from nc_op_log where =    and date <= DATE_FORMAT( 
  2. ::YYYYMMDD HH:MI:SS)  and date >= DATE_FORMAT( ::YYYYMMDD HH:MI:SS)  

  但如果你字段本身的類型就是Date類型的話什麼函數都不需要就直接按字符串處理就可以查詢到結果

  例如

  

  1. select count(*) from nc_op_log where =  and date >=  ::   and date <=  ::  


From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20082.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.