我照着书编了一个java Bean的程序,不过怎么都不对!!希望大家多多指教!
有两个类
第一个类:
 public class Employee {
 String firstName,lastName,name;
 String address,city,state,country;
 int zip,salary,ssn;
 public Employee(){}
 public void setFirstName(String fn){firstName=fn;}
 public String getFirstName(){return firstName;}
 public void setLastName(String n){name=n;}
 public String getLastName(){return lastName;}
 public void setName(String n){name=n;}
 public String getName(){return name;}
 public void setAddress(String a){address=a;}
 public String getAddress(){return address;}
 public void setCity(String c){city=c;}
 public String getCity(){return city;}
 public void setState(String s){state=s;}
 public String getState(){return state;}
 public void setZip(int z){zip=z;}
 public int getZip(){return zip;}
 public void setCountry(String c){country=c;}
 public String getCountry(){return country;}
 public void setSalary(int s){salary=s;}
 public int getSalary(){return salary;}
 public void setSsn(int s){ssn=s;}
 public int getSsn(){return ssn;}}
  第二个类:
  public class People {
String[] names={"Katen","Rafae","Alexandra","Cristina","Emlla","Victoria","Giuseppe","marco","Simona","Dente"};
public String getRandomName(){
int nameindex=(int)(names.length*Math.random());
return names[nameindex];
}
public int getRandomSSN(){
String randomSSN="0";
for(int j=0;j<8;j++)
randomSSN=randomSSN+((int)(9*Math.random()));
return Integer.parseInt(randomSSN);
}
public int getRandomInt(int maxint){
return(int)(maxint*Math.random());
}
}
     
  jsp的界面是这样的
<html>
<title>A Random Payroll</title>
<body>
<jsp:useBean id="employee" class="Employee"/>
<jsp:useBean id="people" class="People"/>
<table width="100%">
 <tr><td bgcolor="AAAAAA" align="center">Names</td>
     <td bgcolor="AAAAAA" align="center">SSN</td>
 <td bgcolor="AAAAAA" align="center">Salary</td>
</tr>
<% for(int j=0;j<10;j++){
   employee.setFistName(people.getRandomName());
   employee.setSsn(people.getRandomSSN());
   employee.setSalary(people.getRandomInt(90)*1000);%>
 <tr><td bgcolor="DDDDDD"><% =employee.getFirstName() %></td>
     <td bgcolor="DDDDDD" align="right">
                     <% =employee.getSsn() %></td>
 <td bgcolor="DDDDDD" align="right">
                     $<% =employee.getSalary() %></td>
</tr>
<% }%>
</table>
</body>
</html>

解决方案 »

  1.   

    出现的错误提示是这样的
    org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 16 in the jsp file: /randomPayroll.jsp
    Generated servlet error:
    D:\tomcat\work\Catalina\localhost\_\org\apache\jsp\randomPayroll_jsp.java:76: illegal start of expression
     =employee.getFirstName() 
     ^
    An error occurred at line: 18 in the jsp file: /randomPayroll.jsp
    Generated servlet error:
    D:\tomcat\work\Catalina\localhost\_\org\apache\jsp\randomPayroll_jsp.java:80: illegal start of expression
     =employee.getSsn() 
     ^
    An error occurred at line: 20 in the jsp file: /randomPayroll.jsp
    Generated servlet error:
    D:\tomcat\work\Catalina\localhost\_\org\apache\jsp\randomPayroll_jsp.java:84: illegal start of expression
     =employee.getSalary() 
     ^
    3 errors
      

  2.   

    你没有倒入包名package..
    给你的BEAN 文件加上package b;
    然后在JSP文件中import b.*;
    <jsp:useBean id="employee" class="b.Employee" scope="page"/>
    ...接下来你自己调试把。。
      

  3.   

    首先指出2个语法上的问题:
    1、employee.setFistName(people.getRandomName());
       应该是setFirstName,少个r
    2、<% =employee.getSsn() %>应是
       <%= employee.getSsn() %>,空格位置有问题
      

  4.   

    如多情剑客无情剑所述,把两个类放入某个包中,只是无需import b.*
      

  5.   

    <% =employee.getSsn() %>
    <%= employee.getSsn() %>
    空格位置有问题
    应该等号两边都有空格!