Exception
org.apache.jasper.JasperException: Unable to compile class for JSP:
JSP文件:[/index.jsp] 的第 [9] 行发生了一个错误
MessageTag cannot be resolved to a type
学习Java WEB自定义标签时,自己给自己布了个坑,出现此错误,百思不得其解。
不论是标签处理类还是web.xml、xxx.tld标签配置文件以及jsp头部的标签引入语句、仔细检查应该都没有问题。
终于到最后,我发现,自己偷懒直接把标签处理的类放在了src根目录下,并且xxx.tld文件内配置的是
<tag-class>MessageTag</tag-class>
百度了一下,说是标签处理类不能直接放在src根目录下,应该放在src下的包中。
做了如上修改:
<tag-class>mypack.MessageTag</tag-class>
果然运行成功。故将记录在此。
另外需注意的是:
使用带属性的自定义标签时,例如有一个username属性,则相应的标签处理类必须要有setUsername(String username)方法,而get方法根据实际需要、可有可无。