2007年10月16日火曜日

式言語から静的メソッドの呼び出し

JSP 2.0 以降では式言語から静的メソッドを呼び出せます。
しかし、複雑な処理を行うにはサーブレットの使用が断然推奨されます。
式言語から呼び出す静的メソッドはあくまでシンプルな機能が推奨されます。

<静的メソッドの配備>
package scwcd;

public class ScwcdFunction {
    public static String message(String name) {
        return "You are SCWCD, " + name + "!";
    }



<TLD ファイルの配置>
WEB-INF/tlds 以下に scwcdTaglib.tld ファイルを配置する
scwcdTaglib.tld
<taglib>
<short-name>certified</short-name>
<function>
    <name>message</name>
    <function-class>
        scwcd.ScwcdFunction
    </function-class>
    <function-signature>
        java.lang.String message(java.lang.String)
    </function-signature>
</function>


<このメソッドの呼び出し方>

<%@ taglib prefix="certified" uri="/WEB-INF/tlds/scwcdTaglib.tld" %>
${certified:message("Takashi")}

<出力結果>
You are SCWCD, Takashi!

taglib uri を相対 URI にするには web.xml で下記のように設定してその URI を使います。
web.xml
<taglib>
    <taglib-uri>/scwcdTaglib</taglib-uri>
    <taglib-location>/WEB-INF/tlds/scwcdTaglib.tld</taglib-location>
</taglib>

これで
<%@ taglib prefix="certified" uri="/scwcdTaglib" %>
とすることができます。

0 件のコメント: