gpt4 book ai didi

tags - 在 jar 中重用 jSTL 标签

转载 作者:行者123 更新时间:2023-12-02 05:04:59 25 4
gpt4 key购买 nike

真的很简单,不是我以前做过的事情,但我一定漏掉了什么。

我有一个像这样的工作 jSTL 标签 - 缩写如下:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ attribute name="path" type="java.lang.Object" rtexprvalue="true" required="true"%>
<%@ attribute name="l10nprefix" type="java.lang.String" required="false"%>
<%@ attribute name="cssClass" type="java.lang.String" required="false"%>
...a bunch of code...
<form:select path="${path}" cssClass="${cssClass}">
...some more of code...
</form:select>

现在我想把它放在一个共享位置(想一个 jar),这样我就可以从各种项目中引用它。所以我可以像引用任何其他标签库一样引用它。

我知道你会怎么做,你正在写一个 java 类扩展javax.servlet.jsp.tagext.SimpleTagSupport(我记得看到另一个类在某些地方提到过)。足够简单,可以在正确的位置创建一个 .tld 文件。

但我看不到重用 jSTL 标记代码的标准方法。有吗?

我在某处读到有关 tomcat 将 jSTL 标记代码编译为类文件的信息。大概我可以从 .tld 文件中引用生成的类。但是在构建中找到并封装它似乎有点笨拙。最好用 java 重写所有代码并完成,但下次会发生什么,当它是更复杂的代码时。

最佳答案

谷歌搜索“jar 中的标记文件”会导致此 Oracle documentation ,它说:

Tag files can be packaged in the /META-INF/tags/ directory in a JAR file installed in the /WEB-INF/lib/ directory of the web application. Tags placed here are typically part of a reusable library of tags that can be used easily in any web application.

Tag files bundled in a JAR require a tag library descriptor. Tag files that appear in a JAR but are not defined in a TLD are ignored by the web container.

请注意,您的标签是一个自定义 JSP 标签,而不是一个JSTL 标签。 JSTL是JSP标准标签库,你自定义的标签不属于这个标准库。

关于tags - 在 jar 中重用 jSTL 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12822912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com