繁体   English   中英

简单的JSP-根据TLD,标签的属性无效

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM