2010-11-20 6 views
1

以前の私たちは1つの必須フィールドroleを持っていた。このタグでタグifRoleよう別の属性に応じてjstlタグにオプションのatrributeを持たせることはできますか?

<op:ifRole role="role1"> 
    <li id="menu3SubMenu4">This will be shown only to the user with role1</li> 
</op:ifRole> 

、別のオプションフィールドsecondaryRoleを持っていました。今、私は別のオプションの属性を追加

<op:ifRole excluding="role2"> 
    <li id="menu3SubMenu4">This will be shown to all users except the one with role=role2</li> 
</op:ifRole> 

はまた、私はオプションに必要な属性からroleを変更したことexcludingな。今、私は誰もこのタグを次のように使用しないようにします:

<op:ifRole excluding="role2" role="role1"> 

このことは許されません。 1つの方法は、これらのパラメータが両方とも提供されたときに例外をdoStartTagにスローすることです。しかし、私は他の方法ラウンドが欲しい。

+1

をカバーしていますが、「他の方法でラウンドを」何を意味するのですか? – skaffman

+0

@skaffman:私はxml –

答えて

3

タグをjavax.servlet.jsp.tagext.TagExtraInfoクラスに関連付けることができます。このクラスは、属性の実行時検証を実行できます。これはおそらく、タグクラス自体で行うよりも、この検証を行うよりきれいな方法です。

のJavaEEチュートリアルはそれをhere

関連する問題