独自コンポーネントをTeeda上で その3
できたー!
先輩の助言を得て、やってみたら即終了。もともとやってたやつは恐らくtldの設定とかが間違っていたんだと思われ。ほんとにどこまでもだめすぎる・・・。まぁ、ほとんど先輩のおかげで出来たのですが、メモとして書いておきますん。
- UIComponent, Renderer, Taglibを作る
- それにあわせてtldを書く↓
<?xml version="1.0" encoding="UTF-8"?> <taglib xmlns="http://java.sun.com/JSP/TagLibraryDescriptor"> <tlib-version>0.1</tlib-version> <jsp-version>1.2</jsp-version> <short-name>custom</short-name> <uri>http://sample.com/example</uri> <tag> <name>hello</name> <tag-class>example.HelloTag</tag-class> <body-content>empty</body-content> <attribute> <name>value</name> <required>true</required> </attribute> </tag> </taglib>
- 次にJARに固める(META-INFフォルダに入れる。ちなみにfaces-config.xmlも一緒においてもおk)
- 該当プロジェクトのビルドパスに追加
- あとはHTML書けばよし↓
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:custom="http://sample.com/example" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>カスタムUIコンポーネントテスト</title> </head> <body> <custom:hello value="Hello" /> </body> </html>
ちなみにFactoryを使ってゴニョゴニョの方は内容的にちょっと重たすぎるので一旦パス。と、いうか自分の実力でそこまで追えるか怪しい・・・時間かければ出来るだろうけど、それじゃだめだしな・・・
まぁ、ひとまず目的の物が動かせたのでスッキリー!
追記
- jspとして利用する場合はJARに固めずともいける。
- htmlとして利用する場合はJARに固めないとだめ。固めないで出来るかは不明。