首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

jsp日历.小疑点

2012-07-28 
jsp日历...小问题%@ page languagejava importjava.util.* pageEncodingutf-8%%String path

jsp日历...小问题
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <base href="<%=basePath%>">
   
  <title>日历</title>
   
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">  
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<!-- 声明变量 -->
<%!
String year;//年
String month;//月
String days[];//日历表数组
%>
<%
//获得客户表单参数
month = request.getParameter("month");
year = request.getParameter("year");
%>
<script type="text/javascript">
function changeMonth(){
var mm = "calendar.jsp?month="+document.sm.elements[0].selectedIndex+"&year="+<%=year%>;
window.open(mm,"_self");
}
</script>
  </head>
  
  
  <%
  //每个月的日历为6行*7列
  days = new String[42];
  //日历表数组初始化
  for(int i = 0 ; i<42;i++){
  days[i]="";
  }
  //获得Calendar类的一个实例
  Calendar thisMonth = Calendar.getInstance();
  //设置月份
  if(month !=null && (!month.equals("null"))){
  thisMonth.set(Calendar.MONTH,Integer.parseInt(month));
  }
  //设置年份
  if(year !=null && (!year.equals("null"))){
  thisMonth.set(Calendar.YEAR,Integer.parseInt(year));
  }
  //重置年分和月份的变量
  year = String.valueOf(thisMonth.get(Calendar.YEAR));
  month = String.valueOf(thisMonth.get(Calendar.MONTH));
  //设置每星期第一天为星期日
  thisMonth.setFirstDayOfWeek(Calendar.SUNDAY);
  //将日期设置为一个月的第一天
  thisMonth.set(Calendar.DAY_OF_MONTH,1);
  int firstIndex = thisMonth.get(Calendar.DAY_OF_WEEK)-1;
  int maxIndex = thisMonth.getActualMaximum(Calendar.DAY_OF_MONTH);
  for(int i=0;i<maxIndex;i++){
  days[firstIndex+i] = String.valueOf(i+1);
  }
  //日历表数组值设置完毕
  %>
  <body>
  <div align="center">
  <form name="sm" method="post" action="calendar.jsp">
  <%=year %>年 <%=Integer.parseInt(month)+1 %>月
  <table border="0" height="90">
  <!-- 日历表的第一行。显示日期 -->
  <TR>
  <td width="25" headers="16" bgcolor="#ffff00"><font color="red">日</font></td>
  <td width="25" headers="16" bgcolor="#ffff00">一</td>
  <td width="25" headers="16" bgcolor="#ffff00">二</td>
  <td width="25" headers="16" bgcolor="#ffff00">三</td>
  <td width="25" headers="16" bgcolor="#ffff00">四</td>


  <td width="25" headers="16" bgcolor="#ffff00">五</td>
  <td width="25" headers="16" bgcolor="#ffff00"><font color="red">六</font></td>
  </TR>
  <!-- 日历表的其他行,显示日期 -->
  <% for(int j = 0 ; j<6 ; j++){ %>
  <tr>
  <%for(int i=j*7;i<(j+1)*7;i++){ %>
  <td bgcolor="#c0c0c0" valign="middle" align="center">
  <%=days[i] %>
  </td>
  <%} %>
  </tr>
  <%} %>
  <tr>
  <td bgcolor="#ffff00" colspan="7">
  <select name="month" size="1" onChange="changeMonth()">
  <option value="0">一月</option>
  <option value="1">二月</option>
  <option value="2">三月</option>
  <option value="3">四月</option>
  <option value="4">五月</option>
  <option value="5">六月</option>
  <option value="6">七月</option>
  <option value="7">八月</option>
  <option value="8">九月</option>
  <option value="9">十月</option>
  <option value="10">十一月</option>
  <option value="11">十二月</option>
  </select>
  <input type="text" name="year" value="<%=year %>" size="4" maxlength="4">年
  <input type="submit" value="提交">
  </td>
  </tr>
  </table>
  </form>
  </div>
  <script type="text/javascript">
  document.sm.month.options.selectedIndex = <%=month%>;
  </script>
  </body>
</html>


<script type="text/javascript">
  document.sm.month.options.selectedIndex = <%=month%>;
  </script>
这句的作用 我始终想不明白....它是在什么时候执行的呢,起的什么作用呢,虽然我上机实践过,但是还是不懂..各位...请帮帮忙吧

[解决办法]
用日历控件把,百度 my97date

http://www.my97.net/

热点排行