问题描述
我必须创建自定义标签来完成我的项目,而无需在 ubuntu(Linux) 上使用任何 IDE,但我反复收到错误消息。
为了创建自定义标签,我制作了两个文件 tagfileone.tag 和 tagfileonetest.jsp,它们的位置如下: 对于 tagfileonetest.jsp:/var/lib/tomcat8/webapps/ROOT/Trying_Tag 对于 tagfileone.tag:/var/lib/tomcat8/webapps/ROOT/Trying_Tag/WEB-INF/tag
此处 Trying_Tag 是我的 Web 应用程序所在目录的名称。
但我在运行时反复在浏览器上收到错误消息:
Trying_Tag/tagfileonetest.jsp (line: 13,column: 28) No tag "tagfileone" defined in tag library imported with prefix "tf"
我正在添加快照以获得更多许可。 如果有人可以帮助我将不胜感激......
解决方法
在默认的 Ubuntu 配置下,Tomcat 会自动部署 /var/lib/tomcat8/webapps
中的所有目录。您没有部署应用程序 Trying_Tag
,而是仅部署了具有文件夹 ROOT
的应用程序 Trying_Tag
。因此,您的 JSP 正在文件夹 /var/lib/tomcat8/webapps/ROOT/WEB-INF/tags
中查找标记文件,但没有找到。
将 Trying_Tag
文件夹移至 /var/lib/tomcat8/webapps
,一切正常。
备注:URL 将保持不变,因为名为 ROOT
的 Web 应用程序有一个空的上下文路径,因此 ROOT/foo/bar.jsp
将可以使用空的上下文路径访问,并且/foo/bar.jsp
作为路径信息(串联为 /foo/bar.jsp
),而 foo/bar.jsp
将具有 /foo
的上下文路径和路径信息 /bar.jsp
,这导致相同的网址。