有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在自定义标记中使用现有的标记库功能?

虽然我对taglib的创建并不陌生,但我对如何在我自己的自定义标记中使用现有的标记定义感到困惑

我正在编写一个taglib来封装jsp文件中经常使用的jsp代码片段。但该代码段包含其他struts标记,如

我必须将所有这些封装在一个自定义标记中

我是否可以直接使用struts taglib类或其他什么

请建议我应该如何进行


共 (1) 个答案

  1. # 1 楼答案

    这很直截了当。在标记库中创建所需的JSP代码段。将它们存储在某个地方(通常看起来是WEB-INF\tags,但可能是\templates)。文件名应以结尾。标签告诉JSP编译器代码段的位置:

    <%@taglib prefix="template" tagdir="/WEB-INF/tags" %>
    

    并使用它们

    <template:_name_of_template_file_without_extension_/>
    

    在这里,您只需引用该文件。 模板有其他语法,但您并不是在创建taglib

    <template:insert template = "String" [ base = "String" ] [ id = "" ] [ locale = "" ] > 
    ...Body Content...
    </template:insert>
    

    对不起,如果您想创建自己的taglib

    <%@taglib uri="_filename_.tld" prefix="_lib_prefix_" %>
    

    然后使用它

    <_lib_prefix_:_lib_tag_ _WHATEVER_/>
    

    最后,您可以在自定义标记中使用现有的标记库