menu
書いてる野郎
orebike@gmail.com
処理は基本的にStringを受け取って、Stringをリターンする処理を書く。
まず適当なクラスを作って、そこにクラスメソッドを作る
taglibのファイルの中に 呼び出し名 対象のクラス 対象のメソッドの呼び出し方 を記述。
<?xml version="1.0" ?> <taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd" version="2.0"> <tlib-version>2.0</tlib-version> <function> <name>hoge</name> <function-class>jp.co.hogehoge.util.Hoge</function-class> <function-signature>java.lang.String aaa(java.lang.String)</function-signature> </function> </taglib>
※このやり方は旧式らしく現代ではこんな面倒なことをする必要は無いっぽい
これはもうtaglibを使っていれば記述されているかもしれんがjspの設定の所にさっきのtaglibファイルの記述を使うという設定をする
<jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern> <el-ignored>false</el-ignored> <page-encoding>UTF-8</page-encoding> <scripting-invalid>false</scripting-invalid> <include-prelude>/WEB-INF/view/common/common.jsp</include-prelude> </jsp-property-group> <taglib> <taglib-uri>http://hogehoge.co.jp/hoge</taglib-uri> <taglib-location>/WEB-INF/taglib/util.tld</taglib-location> </taglib> </jsp-config>
あとはいつもどおり名前空間に引きこんで使うだけ
↑のようなまどろっこしい記述をしなくてもtldファイルを用意して、JSPに
<%@taglib uri='/WEB-INF/tlds/hoge.tld' prefix='hhh' %>
のように書けば終わりのようだ。 たしかにtaglib-locationというのはわかるがtaglib-uriになんの意味があるのかさっぱりだからな。