我的日食项目 -
当我运行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>
答案 0 :(得分: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>
答案 1 :(得分:0)
第一个解决方案:
看来,你想在jsp中包含标题区域。但这是错误的方式。
您应该创建一个header.jsp,然后将header.jsp包含在MyTagUser.jsp中,它们应该位于WEB-INF目录(或其子目录)下。
包括方法:&lt;%@ include file =&#34; WEB-INF / tags / header.jsp&#34;&gt;在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