使用前缀导入的标记库中未定义标记

时间:2016-10-27 09:11:08

标签: jsp intellij-idea custom-tags

我正在使用Intellij IDEA中的Java EE 7并尝试创建和使用自定义.tag文件。我跟着this回答并在WEB-INF / tags中创建了一个wrapper.tag文件:

<%@tag description="Simple Wrapper Tag" pageEncoding="UTF-8"%>
<html><body>
  <jsp:doBody/>
</body></html>

我在我的网站目录中创建了一个.jsp文件:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="t" tagdir="/WEB-INF/tags" %>

<t:wrapper>
    <h1>Welcome</h1>
</t:wrapper>

但是在加载页面时,我总是遇到以下两个错误之一:

  • 使用前缀“t”
  • 导入的标记库中未定义标记“包装器”
  • lang.ClassNotFoundException:org.apache.jsp.temptest_jsp

请注意,我的jsp文件名为temptest.jsp。 提前致谢

2 个答案:

答案 0 :(得分:2)

你需要检查两件事,我也遇到了同样的问题

  1. <%@ taglib tagdir="/WEB-INF/tags/" prefix="tag" %>在标记
  2. 后添加'/'
  3. tagdir路径中应该没有拼写错误,我忘了将's'添加到tags文件夹。

答案 1 :(得分:0)

我之前也遇到过这个问题。事实上,我重命名文件夹后,我的标签文件夹在out / artifacts / WEB-INF中没有更新。你可能想检查一下。

我不擅长Java。事实上,我是C#dev。我的解决方案是手动重命名该文件夹。我们必须有一种方法可以自动更新这些我不知道的动作。 :)

The reference folder