工作总结Java、Ajax 根据天、时、分实现三级联动

2024-05-31 12:08

本文主要是介绍工作总结Java、Ajax 根据天、时、分实现三级联动,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

效果展示:



/*** 描述:根据天、小时、实现三级联动<br>* 作者:liqijing <br>* 修改日期:2015-3-29下午11:34:01 <br>* E-mail: lijinginsistsmile@163.com <br>*/
public class DateTime {public static void main(String[] args) {String arr [] = getTimeMinute("今天",15);for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);}}/*** 方法名称: getOneDayTime<br>* 描述:获取今天还有多少小时 例如:22,23,24* 作者: liqijing* 修改日期:2015-3-29下午11:32:42* @param day* @return*/public static String[] getOneDayTime(String day) {int currentHour = getCurrentHour();String arryHours = "";int nextDayTime = 0;if("今天".equals(day)){for(int i=23 ; currentHour <= i ;){String ch = currentHour+"";if(ch.length() == 1){ch = "0"+ ch ;arryHours = arryHours + ch +",";}else {arryHours = arryHours + currentHour+",";}currentHour ++ ;}} else {for(int i=23 ; nextDayTime <= i ;){String ch = nextDayTime+"";if(ch.length() == 1){ch = "0"+ ch ;arryHours = arryHours + ch +",";}else {arryHours = arryHours + nextDayTime+",";}nextDayTime ++ ;}}return  arryHours.split(",");}/*** 方法名称: getTimeMinute<br>* 描述:获取每小时还要多少分钟五分制 例如:05,10,15,20* 作者: liqijing* 修改日期:2015-3-29下午11:32:51* @param day* @param time* @return*/public static String[] getTimeMinute(String day,int time){int currentHour = getCurrentHour();String currentMinutes = "" ;Calendar calendar = Calendar.getInstance();calendar.setTime(new Date());int currentMinute = calendar.get(Calendar.MINUTE) ;int nextTimeMinute = 0;if("今天".equals(day)){if(currentHour == time){for(int i=60 ;currentMinute <= i ; ){if((currentMinute%5)==0){String ch = currentMinute+"";if(ch.length()==1){ch = "0"+ch ;currentMinutes = currentMinutes + ch+",";} else {currentMinutes = currentMinutes + currentMinute+""+",";}}currentMinute ++ ;}} else {currentMinute = 0;for(int i=60 ;currentMinute <= i ; ){if((currentMinute%5)==0){String ch = currentMinute+"";if(ch.length()==1){ch = "0"+ch ;currentMinutes = currentMinutes + ch+",";} else {currentMinutes = currentMinutes + currentMinute+""+",";}}currentMinute ++ ;}}} else {for(int i=60 ;nextTimeMinute <= i ; ){if((nextTimeMinute%5)==0){String ch = nextTimeMinute+"";if(ch.length() == 1){ch = "0"+ch ;currentMinutes = currentMinutes + ch+",";}else {currentMinutes = currentMinutes + nextTimeMinute+""+",";}}nextTimeMinute ++ ;}}return currentMinutes.split(",") ;}/*** 方法名称: getCurrentHour<br>* 描述:获取当前小时 HH24制* 作者: liqijing* 修改日期:2015-3-29下午11:35:24* @return*/@SuppressWarnings("deprecation")public static int getCurrentHour(){Date date = new Date();int currentHour = date.getHours();return currentHour  ;}}


 Struts2 实现 Action 部分:

/*** 描述:Action部分 根据天、小时、实现三级联动<br>* 作者:liqijing <br>* 修改日期:2015-3-29下午11:34:01 <br>* E-mail: lijinginsistsmile@163.com <br>*/
public class SysUserAction extends ActionSupport implements SessionAware,RequestAware {private static final long serialVersionUID = 1L;private SysUser sysuser;private Map<String, Object> request;private String code;private String day ;private String hour ;private String minute ;/*** 方法名称: initSysUser<br>* 描述:初始化 例如:22,23,24* 作者: liqijing* 修改日期:2015-3-29下午11:32:42* @param day* @return*/public String initSysUser(){HttpServletRequest request = ServletActionContext.getRequest();String project = request.getContextPath();int currentHour = DateTime.getCurrentHour();String time [] = DateTime.getOneDayTime("今天");String minute [] = DateTime.getTimeMinute("今天", currentHour);this.request.put("time", time);this.request.put("minute", minute);this.request.put("currentHour", currentHour) ;this.request.put("project", project);return "init" ;}/*** 方法名称: gethour<br>* 描述:Ajax 请求选择小时二级联动* 作者: liqijing* 修改日期:2015-3-29下午11:32:42* @param day* @return*/public void gethour() throws IOException {System.out.println("进来了........");HttpServletResponse response = ServletActionContext.getResponse();HttpServletRequest request = ServletActionContext.getRequest();PrintWriter out = response.getWriter();String hour [] = DateTime.getOneDayTime(this.day);String minute [] = null ;if(this.hour.substring(0) == "0"){minute = DateTime.getTimeMinute(this.day, Integer.parseInt(this.hour.substring(1)));}else {minute = DateTime.getTimeMinute(this.day, Integer.parseInt(this.hour));}request.setAttribute("hour", hour);request.setAttribute("minute", minute);if (hour.length > 0 && minute.length > 0) {String arr = "" ;for(int i=0;i<minute.length ;i++){arr = arr +minute[i]+"," ;}arr.substring(0,arr.length()-1);System.out.println(arr);out.print(arr);} else {out.print("false");}out.close();}/*** 方法名称: getDayHour<br>* 描述:Ajax 请求选择天三级联动* 作者: liqijing* 修改日期:2015-3-29下午11:32:42* @param day* @return*/public void getDayHour() throws IOException {System.out.println("进来了........");HttpServletResponse response = ServletActionContext.getResponse();PrintWriter out = response.getWriter();String hour [] = DateTime.getOneDayTime(this.day);String minute [] = null ;if("今天".equals(this.day)){minute  = DateTime.getTimeMinute(this.day, DateTime.getCurrentHour());} else {if(this.hour.substring(0) == "0"){minute  = DateTime.getTimeMinute(this.day, Integer.parseInt(this.hour.substring(1)));}else{minute  = DateTime.getTimeMinute(this.day, Integer.parseInt(this.hour));}}if (hour.length > 0 && minute.length > 0) {String arrminuteArrhour = "";String arrminute = "" ;String arrhour = "?," ;for(int i=0;i<minute.length ;i++){arrminute = arrminute +minute[i]+"," ;}for(int i=0;i<hour.length ;i++){arrhour +=  hour[i]+"," ;}arrminuteArrhour = arrminute+ arrhour ; System.out.println(arrminuteArrhour);out.print(arrminuteArrhour);} else {out.print("false");}out.close();}}


HTML部分:

<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;"><select name="day"  id="day"  οnchange="queryDay()"></span></div>			<option value="今天">今天</option>
<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">		<select name="hour"  id="hour"  οnchange="queryTime()"></span></div>			<option value="明天">明天</option></select> <div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">		  	 <option value="${it }">${it } </option></span></div>		  <s:iterator var="it" value="#request.time"></s:iterator></select> 时
<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">		<select name="minute"  id="minute"></span></div>		<input  type="hidden" id="project" value="${request.project }"><s:iterator var="min" value="#request.minute">
<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">		</select> 分</span></div>		         <option value="${min }">${min }</option>
<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">		  </s:iterator></span></div>



JavaScript部分:

<script type="text/javascript">function queryTime(){var hour = $("#hour").val();var day = $("#day").val();var project = $("#project").val();if(true){$.post(project+"/loginAction!gethour",{"day":day,"hour":hour},function(data){var v = data ;if(data =! ""){var arr = v.split(',');var selOpt = $("#minute  option");selOpt.remove();for(var i in arr){if(arr[i] != ""){$("#minute").append("<option value='"+arr[i]+"'>"+arr[i]+"</option>");}}}else{alert("失败");}});}}function queryDay(){var hour = $("#hour").val();var day = $("#day").val();var project = $("#project").val();if(true){$.post(project+"/loginAction!getDayHour",{"day":day,"hour":hour},function(data){var v = data ;if(data =! ""){var arr1 = v.substring(v.indexOf('?'));// str.substring(str.indexOf('>')+1,str.lastIndexOf('<'))var arr2 = v.substring(0,v.indexOf('?')) ;var arrMinute = arr2.split(',');var arrHour = arr1.split(',');var selOptMinute = $("#minute  option");selOptMinute.remove();var selOptHour = $("#hour  option");selOptHour.remove();for(var i in arrMinute){if(arrMinute[i] != ""){$("#minute").append("<option value='"+arrMinute[i]+"'>"+arrMinute[i]+"</option>");}}for(var i in arrHour){if(arrHour[i] != "" && arrHour[i] != "?"){$("#hour").append("<option value='"+arrHour[i]+"'>"+arrHour[i]+"</option>");}}}else{alert("失败");}});}}
</script>



很高兴与你们分享:
希望对需要实现根据天、小时、实现三级联动的朋友们有帮助!
谢谢!

这篇关于工作总结Java、Ajax 根据天、时、分实现三级联动的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1017878

相关文章

Spring boot整合dubbo+zookeeper的详细过程

《Springboot整合dubbo+zookeeper的详细过程》本文讲解SpringBoot整合Dubbo与Zookeeper实现API、Provider、Consumer模式,包含依赖配置、... 目录Spring boot整合dubbo+zookeeper1.创建父工程2.父工程引入依赖3.创建ap

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

SpringBoot+EasyExcel实现自定义复杂样式导入导出

《SpringBoot+EasyExcel实现自定义复杂样式导入导出》这篇文章主要为大家详细介绍了SpringBoot如何结果EasyExcel实现自定义复杂样式导入导出功能,文中的示例代码讲解详细,... 目录安装处理自定义导出复杂场景1、列不固定,动态列2、动态下拉3、自定义锁定行/列,添加密码4、合并

mybatis执行insert返回id实现详解

《mybatis执行insert返回id实现详解》MyBatis插入操作默认返回受影响行数,需通过useGeneratedKeys+keyProperty或selectKey获取主键ID,确保主键为自... 目录 两种方式获取自增 ID:1. ​​useGeneratedKeys+keyProperty(推

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控

Linux在线解压jar包的实现方式

《Linux在线解压jar包的实现方式》:本文主要介绍Linux在线解压jar包的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux在线解压jar包解压 jar包的步骤总结Linux在线解压jar包在 Centos 中解压 jar 包可以使用 u

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

创建Java keystore文件的完整指南及详细步骤

《创建Javakeystore文件的完整指南及详细步骤》本文详解Java中keystore的创建与配置,涵盖私钥管理、自签名与CA证书生成、SSL/TLS应用,强调安全存储及验证机制,确保通信加密和... 目录1. 秘密键(私钥)的理解与管理私钥的定义与重要性私钥的管理策略私钥的生成与存储2. 证书的创建与