JSP を使用して、ネストされたカスタム タグをいくつか作成しています。これを行うには 2 つの方法があることを理解しています。1) BodyTagSupport を拡張するタグ ハンドラを作成する方法、2) タグ ファイルを作成する方法です。
最初の方法では、コードが醜いです。また、現在の struts タグを組み込む方法が見つかりませんでした。JspWriter を使用して次のように記述した場合、コンパイルされた JSP によって生成される意味のある出力ではなく、最終的な HTML 出力でこの文字列を取得します。
<bean:write name="label">
というわけで、2つめの方法で、タグファイルを書きました。その後、上記の問題は解決されます。ただし、親タグのクラスがわからないため、タグの親タグを取得するのに問題があります。独自のタグ ハンドラーを記述した場合、次のことができます。
ParentTag parent =
(ParentTag)findAncestorWithClass(this, ParentTag.class);
if (parent == null) {
throw new JspTagException("this tag is outside of its parent tag");
}
しかし、代わりにタグファイルを使用したため、その親がどのクラスであるかはよくわかりません。
どうすればこの問題を解決できますか?