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

スコープアノテーションとCDIについて

JavaEEで個人的に鬼門がCDIとスコープだと思っています。 ここが少しずつ分かりかけてきたんでメモします。 まずJavaEEでは変数の生存期間をアノテーションで定義します。 これがなかなか分かりに …

no image

String,Integer,Booleanの相互変換

データベースにはbooleanでデータが入っているのに画面では0か1の数字でないと表示ができないときなどがあると思います。 そんな時に文字列と論理値、あるいは文字列と数値、数値と論理値の変換などをする …

no image

サーブレットのスコープ

JavaEEではスコープアノテーションによって変数のスコープを使い分けられたのですが、サーブレットの場合はプログラムの中で使い分けます。 通常はページ、リクエストとセッション、アプリケーションぐらいで …

no image

入出力操作

Javaの出力処理について書きます。 下記リンクが非常に詳しかったので、これをもとにまとめてみたんですが、咀嚼できてないっぽい・・・・ もう1~2度修正がひつようかも。 http://www.arti …

no image

ページャープラグイン dataTable

レコードを一覧表示する上で意外と面倒くさいのがページャーでしょう。 自力で作成してもよいのですが、なかなかこれが面倒だったりします。 また近年ではリンクを踏ませずに、スクロールするだけで表示ができる形 …