真的很简单,不是我以前做过的事情,但我一定错过了一些东西。
我有一个这样的工作 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>
现在我想放在一个共享位置(想一个罐子),以便我可以从各种项目中引用它。所以我可以像任何其他 taglib 一样引用它。
我可以看到您将如何做到这一点,因为您正在编写一个扩展 javax.servlet.jsp.tagext.SimpleTagSupport 的 java 类(我记得在某处看到另一个类)。很简单,可以在正确的位置创建一个.tld文件。
但我看不到重用 jstl 标记代码的标准方法。有吗?
我在某处读到了关于 tomcat 将 jstl 标记代码编译为类文件的信息。大概我可以从.tld文件中引用生成的类。但是在构建中找到并封装它似乎有点笨拙。最好用java重新编写所有代码并完成,但是下次会发生什么,当它是更复杂的代码时。