首先我说明一下我的配置环境,我的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希望各位同门帮忙指点一下,
我在Action中申明一个变量:
List<UserDTO> list;
居然报错:
错误为:
The Type list is not generic:it can not be parameterized with arguments希望各位同门帮忙指点一下,
改为
java.util.*
import java.util.List;
import java.util.ArrayList;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
我没有导入
java.awt.List;
我导入的是java.util.List;
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";
}
}
1 此List不是彼List,改成
java.util.List<MyClass> list; 看看行不行2 如果不行,那么看看你的编译的版本吧,也许你选择的是jdk1.4兼容的。也就是13楼的做法
我把我的compiler compliance level 改为6.0级别后还是报错