<%@ page  language="java" import="java.util.Date"%>
<%@ page import="java.text.SimpleDateFormat"%>
<%@ page import="java.util.Calendar"%>
<%!
int countYes=0;
int countNo=0;
int countYesNo=0;
//总票数
int sum=0;
//百分比
double rate1;
double rate2;
double rate3;
//天数
long day;
int hour;
%>
<%
//计算日期之间的间隔
String input = "2007-11-01";
//SimpleDateFormat用给定的模式和日期符号构造 SimpleDateFormat
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date d1 = null;
//parse(String s)从给定字符串的开始分析文本,以生成一个日期。该方法不使用给定字符串的整个文本
d1 = formatter.parse(input);
Date d2 = new Date();
//getTime()返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数
long diff = d2.getTime() - d1.getTime();
out.println("Difference is " + (diff/(1000*60*60*24)) + " days.");
day=diff/(1000*60*60*24);
//间隔7天
if(day%7==0)
{
  //
  Calendar objNow=Calendar.getInstance();
  //判断是AM还是PM
  if(objNow.get(Calendar.AM_PM )==Calendar.PM )
  {
    //间隔7天PM下午24:00点时都赋为0
    hour=objNow.get(Calendar.HOUR)+12;
    out.println("objNowHour:"+hour);
    if(hour==24)
    {
      countYes=0;
      countNo=0;
      countYesNo=0;
      sum=0;
    }
  }
}
%>
<%
//
String poll=request.getParameter("rbpoll");
if(poll.equals("是"))
{
  countYes++;
}
else if(poll.equals("不是"))
{
  countNo++;
}
else
{
  countYesNo++;
}
//总票数
sum=countYes+countNo+countYesNo;
// 百分比
rate1=countYes*100/sum;
rate2=countNo*100/sum;
rate3=countYesNo*100/sum;
//
out.println("<html><head><title>调查结果</title></head>");
out.println("<body bgcolor=#FFCCFF >");
out.println("<h3 align=center> 欢迎进入青鸟购物中心</h3>");
out.println("<table  align=center width=200 border=1>");
out.println("<tr><td colspan=2><font color=#6495ED >民意调查结果</font></td></tr>");
out.println("<tr><td >您的选择是</td><td>"
+ poll +"</td></tr>");
//
out.println("<tr><td>是:</td><td><font color=red>"
+rate1+"%</font></td></tr>");
out.println("<tr><td>不是:</td> <td><font color=red>"
+rate2+"%</font></td> </tr>");
out.println("<tr><td >不好说:</td><td><font color=red>"
+rate3+"%</font></td></tr>");
//
out.println("<tr><td colspan=2><font color=#6495ED >投票数情况如下</font></td></tr>");
out.println("<tr><td>选择情况</td><td>投票数</td></tr>");
out.println("<tr><td>是</td><td>"+countYes+"</td></tr>");
out.println("<tr><td>不是</td><td>"+countNo+"</td></tr>");
out.println("<tr><td>不好说</td><td>"+countYesNo+"</td></tr>");
out.println("<tr><td>总投票数</td><td>"+sum+"</td></tr>");
out.println("</table>");
out.println("</body></html>");
%>

解决方案 »

  1.   

     if(hour==24) 
            { 
                countYes=0; 
                countNo=0; 
                countYesNo=0; 
                sum=0; 
            } 
    没有执行到
      

  2.   

    这个是JSP上的吧,感觉怪怪的,能计数吗?countYes、countNo、countYesNo都没地方保存啊,每次访问JSP都是一样的吧。也许是我没看明白吧。
      

  3.   

    OpnionPoll.jsp<%@ page contentType="text/html; charset=GBK" %>
    <html>
    <head>
    <title>
    </title>
    </head>
    <body bgcolor=#7EC0EE>
      <form action="OpnionPollResult.jsp" method="POST">
      <table align="center" width="334">
        <tr>
          <td colspan="2">
            <h3 align="center">
              欢迎进入青鸟购物中心
            </h3>
          </td>
        </tr>
        <tr>
          <td colspan="2">
            <h4 align="center">每周民意调查</h4>
          </td>
        </tr>
        <tr>
          <td colspan="2">
            <div align="center">青鸟购物中心是否为您最喜爱的购物中心</div>
          </td>
        </tr>
        <tr>
        </tr>
        <tr>
          <td width="89">
            <div align="right">
              <input name="rbpoll" type="radio" value="是"/>
            </div>
          </td>
          <td width="391">是</td>
        </tr>
        <tr>
          <td>
            <div align="right">
              <input name="rbpoll" type="radio" value="不是"/>
            </div>
          </td>
          <td>不是</td>
        </tr>
        <tr>
          <td>
            <div align="right">
              <input name="rbpoll" type="radio" value="不好说"/>
            </div>
          </td>
          <td>不好说</td>
        </tr>
        <tr>
        </tr>
        <tr>
          <td>
            <div align="right">
              <input type="submit" value="提交" name="submit"/>
            </div>
          </td>
          <td>&nbsp;&nbsp;
            <input type="reset" name="Reset" value="重置"/>
          </td>
        </tr>
      </table>
        </form>
    </body>
    </html>
    OpnionPollResult.jsp<%@ page  language="java" import="java.util.Date"%>
    <%@ page import="java.text.SimpleDateFormat"%>
    <%@ page import="java.util.Calendar"%>
    <%!
    int countYes=0;
    int countNo=0;
    int countYesNo=0;
    //总票数
    int sum=0;
    //百分比
    double rate1;
    double rate2;
    double rate3;
    //天数
    long day;
    int hour;
    %>
    <%
    //计算日期之间的间隔
    String input = "2007-11-01";
    //SimpleDateFormat用给定的模式和日期符号构造 SimpleDateFormat
    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
    Date d1 = null;
    //parse(String s)从给定字符串的开始分析文本,以生成一个日期。该方法不使用给定字符串的整个文本
    d1 = formatter.parse(input);
    Date d2 = new Date();
    //getTime()返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数
    long diff = d2.getTime() - d1.getTime();
    out.println("Difference is " + (diff/(1000*60*60*24)) + " days.");
    day=diff/(1000*60*60*24);
    //间隔7天
    if(day%7==0)
    {
      //
      Calendar objNow=Calendar.getInstance();
      //判断是AM还是PM
      if(objNow.get(Calendar.AM_PM )==Calendar.PM )
      {
        //间隔7天PM下午24:00点时都赋为0
        hour=objNow.get(Calendar.HOUR)+12;
        if(hour==24)
        {
          out.println("objNowHour:"+hour);
          countYes=0;
          countNo=0;
          countYesNo=0;
          sum=0;
        }
      }
    }
    %>
    <%
    //
    String poll=request.getParameter("rbpoll");
    if(poll.equals("是"))
    {
      countYes++;
    }
    else if(poll.equals("不是"))
    {
      countNo++;
    }
    else
    {
      countYesNo++;
    }
    //总票数
    sum=countYes+countNo+countYesNo;
    // 百分比
    rate1=countYes*100/sum;
    rate2=countNo*100/sum;
    rate3=countYesNo*100/sum;
    //
    out.println("<html><head><title>调查结果</title></head>");
    out.println("<body bgcolor=#FFCCFF >");
    out.println("<h3 align=center> 欢迎进入青鸟购物中心</h3>");
    out.println("<table  align=center width=200 border=1>");
    out.println("<tr><td colspan=2><font color=#6495ED >民意调查结果</font></td></tr>");
    out.println("<tr><td >您的选择是</td><td>"
    + poll +"</td></tr>");
    //
    out.println("<tr><td>是:</td><td><font color=red>"
    +rate1+"%</font></td></tr>");
    out.println("<tr><td>不是:</td> <td><font color=red>"
    +rate2+"%</font></td> </tr>");
    out.println("<tr><td >不好说:</td><td><font color=red>"
    +rate3+"%</font></td></tr>");
    //
    out.println("<tr><td colspan=2><font color=#6495ED >投票数情况如下</font></td></tr>");
    out.println("<tr><td>选择情况</td><td>投票数</td></tr>");
    out.println("<tr><td>是</td><td>"+countYes+"</td></tr>");
    out.println("<tr><td>不是</td><td>"+countNo+"</td></tr>");
    out.println("<tr><td>不好说</td><td>"+countYesNo+"</td></tr>");
    out.println("<tr><td>总投票数</td><td>"+sum+"</td></tr>");
    out.println("</table>");
    out.println("</body></html>");
    %>