skillup

技術ブログ

Java

JSPでのカスタムタグ

投稿日:

前回のインク―ドですが、文字列以上の情報を渡すことはできませんでした。

いろいろ調べたり、上司に聞いてみるとカスタムタグという独自のタグを作る機能があるとのことでさっそく調査。

カスタムタグ

やりたかったこと

自分がやりたかったのは

みたいなプルダウンを何か所も作る必要があったので下記のことがテンプレートでできればと思っていました。

  • タイトル、変数名、id名を変数として渡したい。
  • 選択肢のList(valueと表示部分のMapをListに格納したもの)を渡してプルダウンを動的に作りたい。

上記を実行するのに必要な処理を書きます。

テンプレートの定義

上記が変数を受け取ってHTMLを吐き出すプログラムです。

プログラムが絡むようですね・・(絡まなくても行けるようですが・・・)

内部のこまかい部分はわかってないですが、変数を受け取ってHTMLを出力することはできました。

で、このプログラムに渡す変数の定義をしないといけないです。

WEB-INFの下にtaglibsというディレクトリを作り下記のようなファイルを作ります。

htmlhelper.tld

↑上記は設定ファイルの名称ですが、これはもちろん任意です。

メイン側の呼び出し

もともとのHTMLが書いてある場所からどう呼び出すかですが、下記でOK

 web.xml

web.xmlにも下記のような記述が必要です。

記述する場所が少々多いのがメンドイですね。JSFが恋しくなります・・・

しかも、半分以上わかっていないので、やっていくのと並行して覚えていきたいと思います。

一応参考リンクを紹介。

参考リンク

http://www.javaroad.jp/servletjsp/sj_jsp13.htm

http://www.javaroad.jp/servletjsp/sj_jsp14.htm

http://www.javaroad.jp/servletjsp/sj_jsp15.htm

http://www.techscore.com/tech/Java/JavaEE/JSP/7-2/

-Java
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

テストコードの実装

以前、テストコードの大切さを力説しましたが、実際に書いてみると作業の安心度が全く違います。 やはりメソッド単位での確認やデバッグができるのは非常にありがたいです。また時間がたってもテストコードを見るこ …

no image

クラスパスの通し方

今回はNetbeansでなく、IDEを使わずにJavaを使う場合の記事です。 Javaで開発している人の99%はIDEで開発をしていると思うのですが、サーバー上で一時的テストをしないといけないような場 …

no image

arquillianでの外部ライブラリ使用

現状、実務ではDBのテストでは基本的にarquillianを使っています。 arquillianとにかく、重いですね~。 まあglassfishを動かしているので仕方ないかもしれませんが、簡単なテスト …

no image

GlassFishとTomcatの違い

JavaEEの開発を始めてからは基本的にサーバーとしてGlassFishを使っています。 一般的なJavaのサーバーというとTomcatが有名ではないでしょうか。少なくとも私はTomcatしか知りませ …

no image

リソースファイルの読み込み

リソースバンドルは基本的にJSFから参照して呼び出すことが多いんですが、もちろんプログラム内からも呼び出すことはできます。 書き方も単純でリソースバンドルをインスタンス生成してメッセージのキーで呼び出 …