[英]Simple JSP - Attribute invalid for tag according to TLD
我在Eclipse中的项目-
运行MyTagUser.jsp时出现以下错误HTTP Status 500 - /jsp/MyTagUser.jsp(14,0) Attribute subTitle invalid for tag Header according to TLD
org.apache.jasper.JasperException: /jsp/MyTagUser.jsp(14,0) Attribute subTitle
invalid for tag Header according to TLD
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)...etc.
Header.jsp中的代码段-
<body>
<img src="../images/java_logo.gif"><br>
<em><strong> ${subTitle} </strong></em> <br>
</body>
MyTagUser.jsp中的代码段-
<%@ taglib prefix="myTags" tagdir="/WEB-INF/tags"%>
<html>
<head>
</head>
<body>
<myTags:Header subTitle="Java is the best !!!" />
JSP and Servlets.
</body>
</html>
您必须在Header.tag文件中使用attribute指令,如下所示-
<body>
<%@ attribute name="subTitle" required="true" rtexprvalue="true" %>
<img src="../images/java_logo.gif"><br>
<em><strong> ${subTitle} </strong></em> <br>
</body>
第一个解决方案:
看来,您想在jsp中包含标头区域。 但这是错误的方式。
您应该创建一个header.jsp,然后将header.jsp包含到MyTagUser.jsp中,并且它们应该位于WEB-INF目录(或其子目录)下。
包含方法:<%@ include file =“ WEB-INF / tags / header.jsp”>在MyTagUser.jsp中使用此代码
第二种解决方案:
在您的标签文件中
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> core jstl taglib if necessary
<%@ attribute name="subtitle" required="true" %> this is subTitle attribute
您应该定义属性。 查看http://docs.oracle.com/javaee/1.4/tutorial/doc/JSPTags5.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.