RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1402984
Accepted
Klaus Köhler
Klaus Köhler
Asked:2022-06-23 06:38:39 +0000 UTC2022-06-23 06:38:39 +0000 UTC 2022-06-23 06:38:39 +0000 UTC

当我在 jsp 中留下指向 tld 的链接时,无效的 tld 文件请参阅 JSP 规范第 7.3.1 节了解更多详细信息

  • 772

我创建了一个标记库描述符 (tld) 并将它放在一个文件夹WEB-INF/tags/中。它看起来像这样:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
        PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
        "http://java.sun.com/j2ee/dtd/web-jsptaglibrary_1_2.dtd">

<taglib>
    <tlib-version>1.0</tlib-version>
    <jsp-version>1.2</jsp-version>
    <short-name>simple</short-name>
    <uri>http://tomcat.apache.org/example-taglib</uri>
    <description>A simple tab library for the examples</description>

   

     <tag>
            <name>printImageDirectory</name>
            <tag-class>tag.ImageDirectoryTag</tag-class>
            <attribute>
                <name>dishId</name>
                <required>true</required>
            </attribute>
    
            <attribute>
            <name>imageFileName</name>
                <required>true</required>
            </attribute>
        </tag>
    </taglib>

但是当我尝试像这样将它与 JSP 绑定时,问题就出现了:

<%@ taglib uri="WEB-INF/tags/mytags.tld" prefix="m" %>

我有这个错误

找不到 URI 的 taglib [m]:[WEB-INF/tags/mytags.tld]

并且链接无法解析。在此处输入图像描述

/我可以通过在开头添加一个额外的来轻松解决这个问题, 所以它看起来像这样

<%@ taglib uri="/WEB-INF/tags/mytags.tld" prefix="m" %>

所有编译错误都消失了,但是当我现在尝试转到该页面时 - 我发现了这个错误

org.apache.jasper.JasperException:无效的 tld 文件:[/WEB-INF/tags/mytags.tld],有关详细信息,请参阅 JSP 规范第 7.3.1 节

我究竟做错了什么?

PS 这可能无关紧要,但这是我在 tld 中使用的实际标签。

public class ImageDirectoryTag extends TagSupport {
    private int dishId;
    private String imageFileName;

    @Override
    public int doStartTag() {
        String dir = String.format("/%s/%s/%s", IMAGES_DIR, dishId, imageFileName);
        JspWriter out = pageContext.getOut();

        try {
            out.print(dir);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return SKIP_BODY;
    }

    public void setDishId(int dishId) {
        this.dishId = dishId;
    }

    public void setImageFileName(String imageFileName) {
        this.imageFileName = imageFileName;
    }
}
java java-ee
  • 1 1 个回答
  • 23 Views

1 个回答

  • Voted
  1. Best Answer
    Roman C
    2022-06-23T22:53:27Z2022-06-23T22:53:27Z

    该规范声明/WEB-INF/tags它不能包含.tld文件。

    更多细节可以在Java EE 教程中找到。

    标记库描述符文件的名称带有扩展名.tld,扩展名指向标记库描述符文件。当部署在 JAR 文件中时,标记库描述符文件必须位于它的目录META-INF或子目录中。当直接部署到 Web 应用程序时,标记库描述符文件必须始终驻留在目录WEB-INF或其某个子目录中。TLD 文件不应该放在/WEB-INF/classesor中/WEB-INF/lib,也不应该放在它/WEB-INF/tags的子目录中,除非它被命名implicit.tld并打算用它的 JSP 版本和 tlib 版本来配置一个隐式标记库。

    将文件夹重命名为其他名称,例如,tlds或将 tld 文件传输到/WEB-INF/.

    • 1

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5