0

小さな条件付きテスト条件が*.tagファイルを介して再利用されるように、JSP コードをリファクタリングしようとしています。

私の UI には、リクエストに含まれるオブジェクトの 2 状態プロパティの値に依存する大きな部分がいくつかあります。プロパティが「性別」で、オブジェクトのタイプが Person であるとしましょう。

私が言ったように、タグを使用して性別プロパティのテストを簡素化および集中化したいと考えています。この目的のために、2 つのタグ ファイルを作成しました。

/WEB-INF/tags/if-male.tag
/WEB-INF/tags/if-female.tag

ここで、アプリケーション全体で繰り返される別の小さなスポットがあります。私のサイトのユーザーへの挨拶だとしましょう。この考えで、次のようなタグを作成しました。

/WEB-INF/tags/salutation.tag

ご想像のとおり、salutation.tag ファイル内で if-male/if-female テストを使用して「Mrs.」を出力しようとしています。または「さん」このような:

<%@ tag body-content="empty" %>
<%@ taglib prefix="g" uri="/WEB-INF/tags" %>
<g:if-male> Mr. </g:if-male>
<g:if-female> Mrs. </g:if-female>

salutation.tagファイル内での if-male/if-female タグの使用は合法ですか?

私はそのような配置を試みましたが、JDeveloper 10.1.3.4コンパイラが混乱し、同じ「ライブラリ」(/WEB-INF/tagsの下のフォルダ)内の他の2つのタグを呼び出すsalutation.tagタグを処理できないようです。

参照は Jetty 6 で完全に機能し、すべての JSP をプリコンパイルするために JDeveloper に依存せずにアプリケーションを OC4J に直接デプロイすると、同様に機能するように見えます。

誰かがこれに光を当ててくれることを願っています。

ありがとう、

YJ

4

2 に答える 2

0

これは完全に合法であり、タグファイルの魅力の一部です。

JDeveloperが気に入らなければ、それはJDeveloperの問題です。代わりに最新の IDE (eclipse、netbeans、intellij) を使用することを検討する必要があります。

于 2010-04-03T11:16:26.637 に答える
0

他のカスタム タグ内にタグ宣言を含める - 私はこれを常に行っており、あなたのものと一致する構文を使用しています。

于 2010-04-03T00:10:31.767 に答える