简单JSP - 根据TLD对标记无效

Bor*_*yev 2 java jsp jsp-tags java-ee

我在日食中的项目 -

在此输入图像描述

我运行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.
Run Code Online (Sandbox Code Playgroud)

来自Header.jsp的片段 -

<body>
<img src="../images/java_logo.gif"><br>
<em><strong> ${subTitle} </strong></em> <br>
</body>
Run Code Online (Sandbox Code Playgroud)

来自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>
Run Code Online (Sandbox Code Playgroud)

Bor*_*yev 5

您必须在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>
Run Code Online (Sandbox Code Playgroud)