这个bean没错,jsp页面有错,
</FORM>
<jsp:setProperty name="rili" property="*" /> 
这附近

解决方案 »

  1.   


    package tom.jiafei;
    import java.util.*;
     
    public class CalendarBean {
       String calendar=null;
       int year=2005,month=0;
       int n=1;
       String a[]=new String[42];
    public int getYear() {
    return year;
    }
    public void setYear(int year) {
    this.year = year;
    }
    public int getMonth() {
    return month;
    }
    public void setMonth(int month) {
    this.month = month;
    }
    public String getCalendar() {
     StringBuffer buffer=new StringBuffer();
     Calendar 日历=Calendar.getInstance();
     日历.set(year,month-1,1);
       int 星期几=日历.get(Calendar.DAY_OF_WEEK)-1;
       int day=0;
       if(month==1||month==3||month==5||month==7||month==8||
       month==10||month==12)
       day=31;
       if(month==4||month==6||month==9||month==11)
       day=30;
       if(month==2)
         { 
       if((year%4==0&&year%100!=0)||year%400==0)
     day=29;
       else
       {
     day=28;  
       }
      
       for(int i=1;i<42;i++)
        a[i]=" ";
      
       for(int i=星期几;i<星期几+day;i++)
       if(n<=9)
         a[i]=String.valueOf( n)+" ";
       else
         a[i]=String.valueOf( n);
           n++;
           }
       buffer.append( "<table border=3>");
       buffer.append("<tr>");
       String xingqi[]={"星期日","星期一","星期二","星期三",
       "星期四","星期五","星期六"};
       for(int k=0;k<7;k++)
        buffer.append("<td>"+xingqi[k]+"</td>");
       buffer.append("</tr>");
        
       for(int k=0;k<42;k=k+7)
       {buffer.append("<tr>");
          for(int j=k;j<7+k;j++)
           buffer.append("<td>"+a[j]+"</td>");
          buffer.append("</tr>");
       }
       buffer.append("</table>");
       calendar=new String(buffer);
       return calendar;
     }
       
    }
      

  2.   

    <%@ page contentType="text/html; charset=gb2312" %>
    <%@ page import="tom.jiafei.*" %>
    <html> <body bgcolor=pink>
    <jsp:useBean id="rili" class=tom.jiafei.CalendarBean scope="request" />
    <FORM action="" method=post name=form>
    选择日历的年份:
    <Select name="year" >
    <Option value="2009">2009年
    <Option value="2010">2010年
    <Option value="2011">2011年
    <Option value="2012">2012年
    <Option value="2013">2013年
    </Select>
    选择日历的月份:
    <Select name="month">
    <Option value="1">1月
    <Option value="2">2月
    <Option value="3">3月
    <Option value="4">4月
    <Option value="5">5月
    <Option value="6">6月
    <Option value="7">7月
    <Option value="8">8月
    <Option value="9">9月
    <Option value="10">10月
    <Option value="11">11月
    <Option value="12">12月
    </Select>
    <br><br>
    <input type=submit value="提交" >
    </FORM>
    <jsp:setProperty name="rili" property="*" /> 
    <font color="blue"><jsp:getProperty name="rili" property="year"/></font>年
    <font color="yellow"><jsp:getProperty name="rili" property="year"/></font>月
    的日历:
    <jsp:getProperty name="rili" property="calendar" />
    </body>
    </html>
    表单那里有错,我找不出来
      

  3.   


    StringBuffer buffer=new StringBuffer();
    Calendar 日历=Calendar.getInstance();
    日历.set(year,month-1,1);
    int 星期几=日历.get(Calendar.DAY_OF_WEEK)-1;
    int day=0;
    if(month==1||month==3||month==5||month==7||month==8||
    month==10||month==12)
    day=31;
    if(month==4||month==6||month==9||month==11)
    day=30;
    if(month==2)
    {  
    if((year%4==0&&year%100!=0)||year%400==0)
    day=29;
    else
    {
    day=28;   
    }
    }
    for(int i=0;i<42;i++)
    a[i]="&nbsp;"; for(int i=星期几;i<星期几+day;i++)
    {
    if(n<=9)
    a[i]=String.valueOf( n)+" ";
    else
    a[i]=String.valueOf( n);
    n++;
    }
    buffer.append( "<table border=3>");
    buffer.append("<tr>");
    String xingqi[]={"星期日","星期一","星期二","星期三",
    "星期四","星期五","星期六"};
    for(int k=0;k<7;k++)
    buffer.append("<td>"+xingqi[k]+"</td>");
    buffer.append("</tr>"); for(int k=0;k<42;k=k+7)
    {
    buffer.append("<tr>");
    for(int j=k;j<7+k;j++)
    buffer.append("<td>"+a[j]+"</td>");
    buffer.append("</tr>");
    }
    buffer.append("</table>");
    calendar=new String(buffer);
    return calendar;
    你的{}范围有点问题,重新弄了一下<jsp:useBean id="rili" class="tom.jiafei.CalendarBean" scope="request" >
    <jsp:setProperty name="rili" property="*" />
    </jsp:useBean>    <font color="blue"><jsp:getProperty name="rili" property="year"/></font>年
       <font color="yellow"><jsp:getProperty name="rili" property="month"/></font>月
      

  4.   

    <Option value="2009">2009年
    这里应该是<Option value="2009">2009年</Option>
    差不多了。重新编译。。