【发布时间】:2012-10-01 03:14:19
【问题描述】:
真的很简单,不是我以前做过的事情,但我一定错过了一些东西。
我有一个这样的工作 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 一样引用它。
我可以看到你会如何做到这一点,因为你正在编写一个 java 类扩展 javax.servlet.jsp.tagext.SimpleTagSupport(我记得在某个地方看到过另一个类)。在正确的位置创建一个 .tld 文件非常简单。
但我看不到重用 jstl 标记代码的 标准 方法。有吗?
我在某处读到过有关 tomcat 将 jstl 标记代码编译为类文件的信息。 大概我可以从 .tld 文件中引用生成的类。 但是在构建中找到并封装它似乎有点笨拙。 最好在java中重写所有代码并完成,但是下次会发生什么,当它是更复杂的代码时。
【问题讨论】:
标签: tags jstl code-reuse