2016-09-23 7 views
0

は、私のような属性の何かをカスタムタグを作成する方法を知っている:属性を変数としてカスタムタグを作成するにはどうすればよいですか?

<my-prefix:mytag count = "5"> 
content 
</my-prefix:mytag> 

しかし、私はJSPのコア・タグ・ライブラリの<c:set>タグのような変数として属性を持つカスタムタグを作成する方法を知りません。

​​

その後、私は使用することができます:のような 何か

${count-loop} => output "5" 

答えて

1

は、私はあなたがCustom Tags in JSP Pagesチュートリアルを読んだことがあると信じて、あなたはタグ属性やハンドラを宣言する方法を知っています。次に、あなたの属性はmyVarcountあり、そして、あなたのハンドラ内の対応するフィールド(String myVarint count)とセッター(void setMyVar(String myVar)void setCount(int count))が示唆、あなたがする必要があるのは、ハンドラのdoTag()方法でページコンテキストの属性を追加することです:

public void doTag() throws JspException, IOException { 
    // ... 
    getJspContext().setAttribute(myVar, count); 
    // ... 
} 

、あなたはタグの後EL でそれを使用することができますので、

<my-prefix:mytag myVar="count-loop" count="5"></my-prefix:mytag> 
Count: ${count-loop} 

は、次のような出力を生成します:

Count: 5 
関連する問題