首先我说明一下我的配置环境,我的Myeclipse是6.5的版本的,同时我的jdk是1.6的,而且tomcat是6.0的。
我在Action中申明一个变量:
List<UserDTO> list;
居然报错:
错误为:
The Type list is not generic:it can not be parameterized with arguments希望各位同门帮忙指点一下,

解决方案 »

  1.   

    你导入的是java.awt.List吧!!
    改为
    java.util.*
      

  2.   

    import com.opensymphony.xwork2.ActionSupport;
    import java.util.List;
    import java.util.ArrayList;
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.sql.ResultSet;
      

  3.   

    上面是我所导入的类。
    我没有导入
    java.awt.List;
    我导入的是java.util.List;
      

  4.   

    因为UserDTO 与Action属于同一个包,所以不用导入。
      

  5.   

    package com.ex.action;import com.opensymphony.xwork2.ActionSupport;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.*;
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.sql.ResultSet;import javax.servlet.http.HttpServletRequest;import org.apache.struts2.ServletActionContext;
    import com.ex.util.DBManager;public class UserAction extends ActionSupport {
    //用户信息

    private Connection conn;
    private List list;//用户信息列表
    //private Collection<UserDTO> users;
    private UserDAO userDao;//对用户进行增、修改,删除操作
    private UserDTO userDto;//用户单个列表
    private String result;//返回类型
    private String operType = "";//操作类型
    private String userAccount;//用户账号,作为用户信息的惟一标识
    public List getList() {
    return list;
    }
    public void setList(List list) {
    this.list = list;
    }
    public UserDTO getUserDto() {
    return userDto;
    }
    public void setUserDto(UserDTO userDto) {
    this.userDto = userDto;
    }
    public String getUserAccount() {
    return userAccount;
    }
    public void setUserAccount(String userAccount) {
    this.userAccount = userAccount;
    }
    public String execute() throws Exception {


    conn = DBManager.getConn();
    userDao = new UserDAO(conn);
    HttpServletRequest request = ServletActionContext.getRequest();

    operType = request.getParameter("operType");
    if("insert".equals(operType)){
    insert(request);
    }else if("modify".equals(operType)){
    modify(request);
    }else if("list".equals(operType)){
    //显示
    list(request);
    }else if("delete".equals(operType)){
        //删除
    delete(request);
    }else if("do_modify".equals(operType)){
    //修改
    do_modify(request);
    }else if("do_insert".equals(operType)){
    //添加
    do_insert(request);
    }else{
    result = "ERROR";
    }
    DBManager.closeConnection(conn);
    return result;
    }
    private void insert(HttpServletRequest request) throws SQLException {

    UserDTO userDto = new UserDTO();
    request.setAttribute("operType","do_insert");
    request.setAttribute("userDto",userDto);
    result = "edit";

    }
    private void do_insert(HttpServletRequest request) throws SQLException {

    userDto = new UserDTO();
    boolean ok = false;
    userDto.setUserName(request.getParameter("userName"));
    userDto.setUserAccount(request.getParameter("userAccount"));
    userDto.setEMail(request.getParameter("eMail"));
    userDto.setQQ(request.getParameter("QQ"));
    userDto.setTel(request.getParameter("tel"));
    ok = userDao.insert(userDto);
    if(ok){
    result = "showList";
    }else{
    result = "ERROR";
    }

    }
    private void modify(HttpServletRequest request) throws SQLException {

    userDto = new UserDTO();
    list = new ArrayList();
    userDto = (UserDTO)userDao.showList().get(0);//取得待修改用户的信息
    request.setAttribute("userDto",userDto);
    request.setAttribute("operType","do_modify");
    result = "edit";
    }
    private void do_modify(HttpServletRequest request) throws SQLException {

    userDto = new UserDTO();
    boolean ok = false;
    userDto.setUserName(request.getParameter("userName"));
    userDto.setUserAccount(request.getParameter("userAccount"));
    userDto.setEMail(request.getParameter("eMail"));
    userDto.setQQ(request.getParameter("QQ"));
    userDto.setTel(request.getParameter("tel"));
    ok = userDao.modify(userDto);
    if(ok){
    result = "showList";
    }else{
    result = "ERROR";
    }
    }
    private void delete(HttpServletRequest request) throws SQLException {

    userDto = new UserDTO();
    boolean ok = false;
    userDto.setUserAccount(request.getParameter("userAccount"));
    ok = userDao.delete(userDto);
    if(ok){
    result = "showList";
    }else{
    result = "ERROR";
    }
    }
    private void list(HttpServletRequest request) throws SQLException {
    List list = new ArrayList();
    list = userDao.showList();
    request.setAttribute("list", list);
    result = "list";
    }



    }
      

  6.   

    window->preferences->java->compiler->右边 compiler compliance level是否5.0以上,不是改掉
      

  7.   

    The Type list is not generic两个可能性
    1 此List不是彼List,改成
    java.util.List<MyClass> list; 看看行不行2 如果不行,那么看看你的编译的版本吧,也许你选择的是jdk1.4兼容的。也就是13楼的做法

      

  8.   

    我也试过了,还是报错。
    我把我的compiler compliance level 改为6.0级别后还是报错
      

  9.   

    补充:以前是用jdk1.5 myeclipse5.5上编写的,现在在jdk1.6 myeclipse6.5上面运行就报泛型就要报错