小编典典

IntelliJ和JSP / JSTL无法为tomcat7中的JSTL解析标签库

jsp

首先,我的JSTl代码可在我的服务器上工作,因为我在tomcat7的Lib文件夹中有正确的Jar文件。这实际上只是一个IDEA问题。我的问题归结为我将相同的jar文件放在IntelliJ的文件目录中的位置。

我在IntelliJ和JSTL中遇到错误。

我的问题是当我使用

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

结果导致无法使用uri解析taglib。我尝试了不同的Jar文件,但我确实知道我必须为我的servlet修改版本。

我在Ubuntu Server 15.04和IntelliJ 14.1.3上运行tomcat7。

我尝试通过项目结构导入jar文件,并将其包含在各个位置,但是在重新构建项目并关闭并重新打开IDEA之后仍然存在相同的错误。

此示例代码在部署到tomcat时运行,但是IntelliJ不断给出错误。

<table border="1">
    <c:forEach var="a" items="${data}">
        <tr>
            <td>${a}</td>
        </tr>
    </c:forEach>
</table>

<c:forEach begin="0" end="255" var="i">
    <span style='color:rgb(
        <c:out value="${i}"/>,
        <c:out value="${i}"/>,
        <c:out value="${i}"/>);'>
        <c:out value="${i}"/></span> <br />
</c:forEach>

我想知道如何阻止IntelliJ在我的语法上给出错误,即使代码有效。

我已经阅读了IntelliJ中的JSTL,给出了JSP中的错误

https://www.jetbrains.com/idea/features/jsp_editor.html

仍然没有运气。


阅读 423

收藏
2020-06-08

共1个答案

小编典典

首先将其添加到.jsp文件顶部:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

它仍然会给出语法错误,但是您可以通过添加javax.servlet:jstl:1.2为模块依赖项来解决该错误。为此,请按照下列步骤操作:

  1. 单击您的项目名称,然后按F4以打开模块设置对话框。
  2. 然后转到dependenciesmodules部分中的标签。
  3. 单击绿色+图标->库->从Maven。
  4. 搜索javax.servlet:jstl:1.2在搜索栏中,然后按确定,它会下载并添加上述库作为一个模块。
  5. 现在您应该没有任何语法错误。
2020-06-08