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

JSF+ajax

JSFでajaxを使うときにいろいろと調べたのでメモ。 やろうとしたことはWEB上で給与明細の計算をしたくて、プルダウンで月の変更したら自動的に経費が該当月に替わるというシステムです。 ajaxを使う …

no image

Enumでメソッドの実装

以前、Enum式で値を定義したことはありましたが、なんとメソッドが実装できることを知りました。 Contents1 Enumでのメソッドを実装2 複雑なメソッドの実装 Enumでのメソッドを実装 op …

no image

クラスパスの通し方

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

no image

リファクタリング

業務で大幅なリファクタリングをする機会があり、その際の注意だったり、気をつけるべきことなどをまとめておきます。 自分用なので自分にしかわからない言葉で書いてある可能性が大きいです。 気になる方は問い合 …

no image

Javaのオブジェクト指向に関して

Contents1 staticメソッド2 アクセス修飾子3 抽象クラス3.1 オーバーライド(親クラスのメソッドを上書きすること)3.2 オーバーロード(同名メソッドを複数もつこと)4 interf …