我想为我的应用程序编写一些jsp标记文件。我遵循了这篇文章:http://www.techrepublic.com/article/an-introduction-to-jsp-20s-tag-files/
然而,当我打开一个包含这一行的jsp页面时,我被卡住了:
<%@ taglib prefix="h" uri="/WEB-INF/tags"%>
我得到例外。
HTTP Status 500 - /test.jsp (line: 8, column: 41) File "/WEB-INF/tags" not found
org.apache.jasper.JasperException: /test.jsp (line: 8, column: 41) File "/WEB-INF/tags" not found
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:443)
如果我刷新页面,有时我会得到一个不同的页面:
HTTP Status 500 - java.lang.ClassNotFoundException: org.apache.jsp.test_jsp
org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.test_jsp
我所做的就是,在eclipse中我在WebContent / WEB-INF中创建了一个名为“tags”的文件夹。 我创建了一个标记文件“email.tag”,其中包含以下内容:
<%@ tag language="java" pageEncoding="ISO-8859-1"%>
<%@ attribute name="email" required="true" %>
<%
String emailOutput = "<a href=\"mailto:{$email}\">${email}</a>";
%>
<%=emailOutput %>
Eclipse自动完成功能识别并建议:
<h:email email=""></h:email>
我使用Tomcat7。 我试图在谷歌和这里搜索这个错误,但找不到答案。 我错过了什么?
答案 0 :(得分:1)
这不是必须使用标记文件的方式。正确的语法是
<%@ taglib tagdir="/WEB-INF/tags" prefix="h" %>
请参阅http://docs.oracle.com/javaee/1.4/tutorial/doc/JSPTags5.html