3

非常に単純で、以前に行ったことはありませんが、何かが欠けているに違いありません。

私はこのような作業用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 を考えて) に配置したいと考えています。したがって、他のタグライブラリと同じように参照できます。

javax.servlet.jsp.tagext.SimpleTagSupport を拡張する Java クラスを作成しているので、これをどのように行うかがわかります (別のクラスがどこかに言及されているのを見たことを思い出します)。適切な場所に.tldファイルを作成するのに十分なほど単純です。

しかし、 jstl タグ コードを再利用する標準的な方法がわかりません。ありますか?

Tomcatがjstlタグコードをクラスファイルにコンパイルすることについてどこかで読みました。おそらく、生成されたクラスを.tldファイルから参照できます。しかし、ビルドでそれを見つけてカプセル化するのは少し面倒に思えます。すべてのコードを Java で書き直した方がよいのですが、次はもっと複雑なコードになるとどうなるでしょうか。

4

1 に答える 1

0

「jar内のタグファイル」をグーグルで検索すると、次のOracleドキュメントが表示されます。

タグ ファイルは、Web アプリケーションの /WEB-INF/lib/ ディレクトリにインストールされた JAR ファイルの /META-INF/tags/ ディレクトリにパッケージ化できます。ここに配置されたタグは通常、再利用可能なタグのライブラリの一部であり、どの Web アプリケーションでも簡単に使用できます。

JAR にバンドルされたタグ ファイルには、タグ ライブラリ記述子が必要です。JAR に表示されるが TLD で定義されていないタグ ファイルは、Web コンテナによって無視されます。

タグはカスタム JSP タグであり、JSTL タグではないことに注意してください。JSTL は JSP 標準タグ ライブラリであり、カスタム タグはこの標準ライブラリの一部ではありません。

于 2012-10-10T18:59:58.550 に答える