我想为我的应用程序编写一些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。我试图在Google和此处搜索此错误,但找不到答案。我想念什么?
这不是必须使用标记文件的方式。正确的语法是
<%@ taglib tagdir="/WEB-INF/tags" prefix="h" %>
参见http://docs.oracle.com/javaee/1.4/tutorial/doc/JSPTags5.html