我最近将ANT项目迁移到了Maven。完成所有依赖项并获得项目错误后。我在Eclipse中看到此警告:
The tag handler class for "c:if" (org.apache.taglibs.standard.tag.rt.core.IfTag) was not found on the Java Build Path
我对c:import,c:out c:set也看到相同的警告。
我有标签:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
在JSP中添加。我在pom文件中添加了JSTL 1.2依赖项。你能告诉我如何摆脱这些警告吗?
答案 0 :(得分:1)
我有同样的错误。为了解决这个问题,我刚刚在pom.xml中添加并保存了以下内容。
<!-- https://mvnrepository.com/artifact/org.apache.taglibs/taglibs-standard-impl -->
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-impl</artifactId>
<version>1.2.1</version>
</dependency>
在某些早期的Eclipse版本中,您可能需要修改代码的“ 我的代码使用<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" %>
<%@ attribute name="normalPrice" fragment="true" %>
<%@ attribute name="onSale" fragment="true" %>
<%@ variable name-given="name" %>
<%@ variable name-given="price" %>
<%@ variable name-given="origPrice" %>
<%@ variable name-given="salePrice" %>
<head>
<title>Tag Example</title>
</head>
<table border="1">
<tr>
<td>
<c:set var="name" value="Hand-held Color PDA"/>
<c:set var="price" value="$298.86"/>
<jsp:invoke fragment="normalPrice"/>
</td>
<td>
<c:set var="name" value="4-Pack 150 Watt Light Bulbs"/>
<c:set var="origPrice" value="$2.98"/>
<c:set var="salePrice" value="$2.32"/>
<jsp:invoke fragment="onSale"/>
</td>
<td>
<c:set var="name" value="Digital Cellular Phone"/>
<c:set var="price" value="$68.74"/>
<jsp:invoke fragment="normalPrice"/>
</td>
<td>
<c:set var="name" value="Baby Grand Piano"/>
<c:set var="price" value="$10,800.00"/>
<jsp:invoke fragment="normalPrice"/>
</td>
<td>
<c:set var="name" value="Luxury Car w/ Leather Seats"/>
<c:set var="origPrice" value="$23,980.00"/>
<c:set var="salePrice" value="$21,070.00"/>
<jsp:invoke fragment="onSale"/>
</td>
</tr>
</table>
<body>
<c:set var = "salary" scope = "session" value = "${2000*2}"/>
<c:if test = "${salary > 2000}">
<p>My salary is: <c:out value = "${salary}"/><p>
</c:if>
</body>
答案 1 :(得分:-1)
如果该标签实际上工作正常,那么它只是Eclipse的一个假阴性。在这种情况下,您可以强制进行新的检查以编辑标签名称,然后将其设置回正确的名称。
因此,例如,单击您的“ c:if”标签,删除单个字符,然后重新输入(与之前完全一样)。保存。就我而言,这足以消除警告。