我在github上有一个JSP和Servlet项目 - https://github.com/double-whammy/affablebean.git。此代码至少在我的旧计算机上正确编译。当我将它导入我的新计算机时,它向我显示了许多奇怪的编译错误。我将向您展示一些代码和错误。请帮我纠正一下。
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>
<%@ page language="java" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link rel="stylesheet" type="text/css" href="css/affablebean.css">
<title>The Affable Bean</title>
</head>
<body>
<sql:query var="categories" dataSource="jdbc/affablebean">
SELECT * FROM category
</sql:query>
<sql:query var="selectedCategory" dataSource="jdbc/affablebean">
SELECT name FROM category WHERE id = ?
<sql:param value="${pageContext.request.queryString}" />
</sql:query>
<sql:query var="categoryProducts" dataSource="jdbc/affablebean">
SELECT * FROM product WHERE category_id = ?
<sql:param value="${pageContext.request.queryString}" />
</sql:query>
<div id="categoryLeftColumn">
<c:forEach var="category" items="${categories.rows}">
<c:choose>
<c:when test="${category.id == pageContext.request.queryString}">
<div class="categoryButton" id="selectedCategory">
<span class="categoryText"> ${category.name} </span>
</div>
</c:when>
<c:otherwise>
<a href="category?${category.id}" class="categoryButton">
<div class="categoryText">${category.name}</div>
</a>
</c:otherwise>
</c:choose>
</c:forEach>
</div>
</body>
</html>
错误是:
行<sql:param value="${pageContext.request.queryString}" />
:
Multiple annotations found at this line:
- java.io.IOException cannot be resolved to a type
- No exception of type ServletException can be thrown; an exception type must be a subclass of
Throwable
- The method getQueryString() from the type HttpServletRequest refers to the missing type String
- String cannot be resolved to a type
行<sql:query var="categoryProducts" dataSource="jdbc/affablebean">
No exception of type JspException can be thrown; an exception type must be a subclass of Throwable
行<c:forEach var="category" items="${categories.rows}">
Multiple annotations found at this line:
- java.util.Map cannot be resolved
to a type
答案 0 :(得分:0)
Google此错误The method getQueryString() from the type HttpServletRequest refers to the missing type String
没有getQueryString()
。一个SO post暗示这可能是项目默认jre的问题(如果你正在做Java企业项目,实际上是jdk)。
在eclipse中,你的项目&gt;右键单击&gt;订单和出口标签。 JRE系统库旁边应该有一个红叉,状态是未绑定的。 Another SO post表示您需要更改/修复默认的jre或jdk。
在日食,窗口&gt;喜好。删除所有旧的Jres或Jdks和jdk。添加&gt;标准VM&gt;下一个&gt;找到您安装jdk等的文件夹&gt;完成。
返回项目属性。 JRE系统库旁边应该有一个错误。选择它并将其删除。然后,添加库&gt;添加您在上一步中设置的Jre / jdk。
重建并清理您的项目。问题解决了。