大家好!我在写一JSP页面功能是将所有用户信息显示,可是总是报错 
错误信息如下: 
HTTP   Status   500   -   -------------------------------------------------------------------------------- type   Exception   report message   description   The   server   encountered   an   internal   error   ()   that   prevented   it   from   fulfilling   this   request. exception   org.apache.jasper.JasperException:   Unable   to   compile   class   for   JSP An   error   occurred   at   line:   4   in   the   jsp   file:   /Admin/UserList.jsp 
Generated   servlet   error: 
Syntax   error   on   token   " <",   invalid   AssignmentOperator An   error   occurred   at   line:   4   in   the   jsp   file:   /Admin/UserList.jsp 
Generated   servlet   error: 
Syntax   error   on   token   "=",   !=   expected An   error   occurred   at   line:   4   in   the   jsp   file:   /Admin/UserList.jsp 
Generated   servlet   error: 
Syntax   error   on   token   " <",   (   expected An   error   occurred   at   line:   4   in   the   jsp   file:   /Admin/UserList.jsp 
Generated   servlet   error: 
Syntax   error   on   token   "(",   invalid   Expression 
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84) 
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328) 
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:397) 
org.apache.jasper.compiler.Compiler.compile(Compiler.java:288) 
org.apache.jasper.compiler.Compiler.compile(Compiler.java:267) 
org.apache.jasper.compiler.Compiler.compile(Compiler.java:255) 
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556) 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293) 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) 
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 
note   The   full   stack   trace   of   the   root   cause   is   available   in   the   Apache   Tomcat/5.5.9   logs. 问题非常奇诡,我用其它页面调用我的User类里的getUser()方法时,一切正常,我的页面代码如下(删了很多代码了) UserList.jsp   页面代码 
<%@   page   language="java"     pageEncoding="GB18030"%> 
<%@   page   import="com.pf.shop.user.*"%> 
<%@   page   import="java.util.*"   %> 
<%   
List <User>   users   =   new   ArrayList <User> ();
users = User.getUsers(); 
%> 
<html> 
<head> 
<meta   http-equiv="Content-Type"   content="text/html;   charset=GB18030"> 
<title> 用户列表 </title> 
</head> 
<body> 
<table> 
        <tr> 
        <td> ID </td> 
        <td> Username </td> 
        <td> Phone </td> 
        <td> Addr </td> 
        <td> Rdate </td> 
        </tr> 
        <% 
        for(Iterator   it   =   users.iterator();it.hasNext();)   { 
        User   u   =   (User)it.next(); 
        %> 
        <tr> 
        <td> <%=u.getId()   %> </td> 
        <td> <%=u.getUsername()   %> </td> 
        <td> <%=u.getPhone()   %> </td> 
        <td> <%=u.getAddr()   %> </td> 
        <td> <%=u.getRdate()   %> </td> 
        </tr> 
        <%}   %> 
</table> 
</body> 
</html> User里面的getUser()方法如下: 
public   static   List <User>   getUsers()   { 
List <User>   users   =   new   ArrayList <User> (); 
Connection   conn   =   DB.getConn(); 
String   sql   =   "select   *   from   user"; 
Statement   stmt   =   DB.getStatement(conn); 
ResultSet   rs   =   DB.getResultSet(stmt,   sql); try   { 
while(rs.next())   { 
User   u   =   new   User(); 
u.setId(rs.getInt("id")); 
u.setUsername(rs.getString("username")); 
u.setPassword(rs.getString("password")); 
u.setPhone(rs.getString("phone")); 
u.setAddr(rs.getString("addr")); 
u.setRdate(rs.getTimestamp("rdate")); 
users.add(u); 

}   catch   (SQLException   e)   { 
//   TODO   Auto-generated   catch   block 
e.printStackTrace(); 
}finally   { 
DB.close(rs); 
DB.close(stmt); 
DB.close(conn); 

return   users; 

解决方案 »

  1.   

    List   <User>       users       =       new       ArrayList   <User>   (); 这句的问题?为什么要<User>? 直接List users = new ArrayList(); 不可以吗?
      

  2.   

    List   users       =       new       ArrayList   <User>   (); 
      

  3.   

    问题终于发现了,泛型好像在JDK1.6才受支持,在JSP页面使用泛型是不能被识别的