jp.terasoluna.fw.web.taglib
クラス InputCalendarTag

java.lang.Object
  上位を拡張 javax.servlet.jsp.tagext.TagSupport
      上位を拡張 jp.terasoluna.fw.web.taglib.InputCalendarTag
すべての実装されたインタフェース:
java.io.Serializable, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag

public class InputCalendarTag
extends javax.servlet.jsp.tagext.TagSupport

指定されたフィールドに対して選択した日付の入力を 行うカレンダー入力機能。

以下の項目をメッセージリソースファイルに記述することで、 カレンダー入力機能の設定を変更することができる。
なお、メッセージリソースファイル名は「calendar」固定とする。
例:「calendar.properties」、「calendar_en.properties」

機能詳細 メッセージリソースファイルに以下のように記述することで カレンダーの休日を指定することができる。 メッセージリソースキーは、「calendar.holiday.」部分を固定として、 その後に、「1」から連番を振ることとする。 パラメータは、「年」「月」「日」「休日概要」を「,(カンマ)」で 区切って記述することとする。 毎年同じ日付の休日定義は「年」を「0」と 指定することで毎年と認識する。
設定例 calendar.holiday.1=0,1,1,元日
calendar.holiday.2=0,2,11,建国記念の日
calendar.holiday.3=0,4,29,昭和の日
calendar.holiday.4=0,5,3,憲法記念日
calendar.holiday.5=0,5,4,みどりの日
calendar.holiday.6=0,5,5,こどもの日
calendar.holiday.7=0,11,3,文化の日
calendar.holiday.8=0,11,23,勤労感謝の日
calendar.holiday.9=0,12,23,天皇誕生日
calendar.holiday.10=2009,1,12,成人の日
calendar.holiday.11=2009,3,20,春分の日
calendar.holiday.12=2009,7,20,海の日
calendar.holiday.13=2009,9,21,敬老の日
calendar.holiday.14=2009,9,23,秋分の日
calendar.holiday.15=2009,10,12,体育の日

機能詳細 メッセージリソースファイルに以下のように記述することで カレンダーを表示するボタンの文字列を変更することができる。 メッセージリソースキーは、「calendar.button.string」固定とする。 デフォルトは「Calendar」となる。
設定例 calendar.button.string=カレンダー

機能詳細 メッセージリソースファイルに以下のように記述することで カレンダーにて使用するスタイルシートのプレフィックス、 および画像ファイルのプレフィックスを変更することができる。
メッセージリソースキーは、「calendar.style.themeprefix」固定とする。 デフォルトは「BlueStyle」となる。
設定例 calendar.style.themeprefix=BlueStyle

機能詳細 メッセージリソースファイルに以下のように記述することで カレンダーの下部に表示される現在日付に付与する文字列を 変更することができる。
メッセージリソースキーは、「calendar.today.string」固定とする。 デフォルトは「Today is 」となる。
設定例 calendar.today.string=Today is

機能詳細 メッセージリソースファイルに以下のように記述することで カレンダー入力機能にて使用する画像の保存場所を変更することができる。 最後は「/」で終わる必要がある。 画像の保存場所は変更可能だが、画像ファイルの名前は変更することができない。
メッセージリソースキーは、「calendar.img.dir」固定とする。 デフォルトは「img/calendar/」となる。
設定例 calendar.img.dir=image/

機能詳細 メッセージリソースファイルに以下のように記述することで カレンダー入力機能にて使用するスタイルシートの保存場所を 変更することができる。最後は「/」で終わる必要がある。 この機能で使用するスタイルシートのファイル名は、 「<プレフィックス> + InputCalendar.css」である。
メッセージリソースキーは、「calendar.stylesheet.dir」固定とする。 デフォルトは「css/」となる。
設定例 calendar.stylesheet.dir=style/

機能詳細 メッセージリソースファイルに以下のように記述することで カレンダー入力機能にて使用する外部JavaScriptの保存場所を 変更することができる。最後は「/」で終わる必要がある。 この機能で使用するJavaScriptのファイル名は、 「InputCalendar.js」である。
メッセージリソースキーは、「calendar.javascript.dir」固定とする。 デフォルトは「js/」となる。
設定例 calendar.javascript.dir=javascript/

カレンダー入力機能の使用例

以下のように、入力フィールドと対となるように記述する。 カレンダー入力機能のfor属性には、対象となる入力フィールドの名前を 指定する。以下の例では、text要素のproperty属性が入力フィールドの 名前となるため、for属性には、text要素のproperty属性と同じ値を 指定する。

<html:text property="value" />
<t:inputCalendar for="value" format="yyyy-MM-dd" />

タグがサポートする属性

カレンダー入力機能では、以下の属性をサポートする。

属性名 デフォルト値 必須性 実行時式 概要
for - true true 選択した日付を入力する入力フィールドを指定する。
format yyyy/MM/dd false true カレンダーのフォーマットを指定する。
指定できる日付形式は「y(年)」「M(月)」「d(日)」、 区切文字としては「/」「-」「.」「半角スペース」 のいずれかである。また、区切り文字は、一文字のみを使用すること。 「yyyy/MM-dd」のように複数の区切り文字を使用することはできない。
formatKey - false true カレンダーのフォーマットをメッセージリソースから 取得するためのキー値を指定する。

関連項目:
直列化された形式

フィールドの概要
protected static java.lang.String CALENDAR_BUTTON_VALUE
          カレンダー入力機能にて使用するボタン表示文字列を メッセージリソースから取得するための取得キー。
protected static java.lang.String CALENDAR_DEFAULT_BUTTON_VALUE
          デフォルトのカレンダーボタン表示文字列。
protected static java.lang.String CALENDAR_DEFAULT_FORMAT
          デフォルトのフォーマット。
protected static java.lang.String CALENDAR_DEFAULT_IMAGE_PATH
          デフォルトの画像保存場所パス。
protected static java.lang.String CALENDAR_DEFAULT_JAVASCRIPT_DIR
          デフォルトのカレンダー外部JavaScript保存場所。
protected static java.lang.String CALENDAR_DEFAULT_STYLEPREFIX_NAME
          デフォルトスタイルプレフィックス名。
protected static java.lang.String CALENDAR_DEFAULT_STYLESHEET_DIR
          デフォルトのスタイルシート保存場所。
protected static java.lang.String CALENDAR_HOLIDAY_PREFIX
          カレンダー入力機能にて使用する休日定義情報を メッセージリソースから取得するための取得キー。
protected static java.lang.String CALENDAR_IMG_DIR
          カレンダー入力機能にて使用するカレンダー画像保存場所を メッセージリソースから取得するための取得キー。
protected static java.lang.String CALENDAR_JAVASCRIPT_DIR
          カレンダー入力機能にて使用するカレンダー外部JavaScript保存場所を メッセージリソースから取得するための取得キー。
protected static java.lang.String CALENDAR_JAVASCRIPT_FILE_NAME
          カレンダー入力機能して使用するJavaScriptのファイル名。
protected static java.lang.String CALENDAR_STYLE_THEMEPREFIX
          カレンダー入力機能にて使用するスタイルプレフィックスを メッセージリソースから取得するための取得キー。
protected static java.lang.String CALENDAR_STYLESHEET_DIR
          カレンダー入力機能にて使用するスタイルシート保存場所を メッセージリソースから取得するための取得キー。
protected static java.lang.String CALENDAR_STYLESHEET_FILE_NAME
          カレンダー入力機能して使用するスタイルシートのファイル名(プレフィックス無し)。
protected static java.lang.String CALENDAR_TODAY_STRING
          カレンダー入力機能にて使用する現在日付付与文字列を メッセージリソースから取得するための取得キー。
private  java.lang.String forId
          対応テキストフィールド指定属性。
private  java.lang.String format
          フォーマット指定属性。
protected static java.lang.String FORMAT_VALUE
          対応しているフォーマット文字群。
private  java.lang.String formatKey
          フォーマットキー指定属性。
protected static java.lang.String INPUTCALENDAR_FLG
          出力状態フラグキー。
private static long serialVersionUID
          シリアルバージョンID
 
クラス javax.servlet.jsp.tagext.TagSupport から継承されたフィールド
id, pageContext
 
インタフェース javax.servlet.jsp.tagext.IterationTag から継承されたフィールド
EVAL_BODY_AGAIN
 
インタフェース javax.servlet.jsp.tagext.Tag から継承されたフィールド
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
 
コンストラクタの概要
InputCalendarTag()
           
 
メソッドの概要
protected  java.lang.String createFormat(java.lang.String format)
          引数の文字列に対してデートフォーマットの精査を行う。
protected  java.lang.String defineArrayVariable(java.lang.String arrayName, java.lang.String[] array)
          引数にて渡された配列をJavaScriptArray型として編集して返却する。
protected  void defineButton(java.util.ResourceBundle calendarBundle)
          カレンダー画面を表示するためのボタンを出力する。
protected  void defineJavaScript(java.util.ResourceBundle calendarBundle)
          JavaScriptの定義部分を出力する。
protected  java.lang.String defineObjectVariable(java.lang.String name, java.lang.String value)
          引数にて渡された値をJavaScriptObject宣言として、返却する。
protected  java.lang.String defineStringVariable(java.lang.String name, java.lang.String value)
          引数にて渡された値をJavaScriptString宣言として返却する。
 int doStartTag()
          タグ評価開始時に呼ばれるメソッド。
 java.lang.String getFor()
          対応テキストフィールド指定属性の値を返却する。
 java.lang.String getFormat()
          フォーマット指定属性の値を返却する。
 java.lang.String getFormatKey()
          フォーマットキー指定属性の値を返却する。
protected  java.util.List<java.util.Map<java.lang.String,java.lang.String>> getHolidayList(java.util.ResourceBundle calendarBundle)
          メッセージリソースに定義された休日定義を取得する。
protected  boolean getPageContextFlg(javax.servlet.jsp.PageContext pageContext, java.lang.String key)
          指定されたKEYにて取得した値を真偽値に変換して返却する。
protected  java.lang.String getParameter(java.util.ResourceBundle calendarBundle, java.lang.String key, java.lang.String def)
          メッセージリソースからキーを元に値を取得して返却する。
protected  java.lang.String[] mapMonths(java.text.DateFormatSymbols symbols)
          指定されたデートフォーマットシンボルから「月」を取得して返却する。
protected  java.lang.String[] mapWeekdays(java.text.DateFormatSymbols symbols)
          指定されたデートフォーマットシンボルから「曜日」を取得して返却する。
 void release()
          すべてのアロケートされた資源を解放する。
 void setFor(java.lang.String forId)
          対応テキストフィールド指定属性の値を設定する。
 void setFormat(java.lang.String format)
          フォーマット指定属性の値を設定する。
 void setFormatKey(java.lang.String formatKey)
          フォーマットキー指定属性の値を設定する。
protected  void setPageContextFlg(javax.servlet.jsp.PageContext pageContext, java.lang.String key)
          ページコンテキストに対して、指定されたKEYのフラグを設定する。
 
クラス javax.servlet.jsp.tagext.TagSupport から継承されたメソッド
doAfterBody, doEndTag, findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

serialVersionUID

private static final long serialVersionUID
シリアルバージョンID

関連項目:
定数フィールド値

forId

private java.lang.String forId
対応テキストフィールド指定属性。 選択した日付を入力するフィールド名を指定する。


format

private java.lang.String format
フォーマット指定属性。 フィールドに入力する日付のフォーマットを指定する。 「y」「M」「d」の3文字を使用。 区切り文字は「/」「-」「.」「 」の4つが使用可能である。


formatKey

private java.lang.String formatKey
フォーマットキー指定属性。 フィールドに入力する日付のフォーマットの メッセージリソースのキーを指定する。


CALENDAR_IMG_DIR

protected static final java.lang.String CALENDAR_IMG_DIR
カレンダー入力機能にて使用するカレンダー画像保存場所を メッセージリソースから取得するための取得キー。

関連項目:
定数フィールド値

CALENDAR_TODAY_STRING

protected static final java.lang.String CALENDAR_TODAY_STRING
カレンダー入力機能にて使用する現在日付付与文字列を メッセージリソースから取得するための取得キー。

関連項目:
定数フィールド値

CALENDAR_BUTTON_VALUE

protected static final java.lang.String CALENDAR_BUTTON_VALUE
カレンダー入力機能にて使用するボタン表示文字列を メッセージリソースから取得するための取得キー。

関連項目:
定数フィールド値

CALENDAR_STYLE_THEMEPREFIX

protected static final java.lang.String CALENDAR_STYLE_THEMEPREFIX
カレンダー入力機能にて使用するスタイルプレフィックスを メッセージリソースから取得するための取得キー。

関連項目:
定数フィールド値

CALENDAR_STYLESHEET_DIR

protected static final java.lang.String CALENDAR_STYLESHEET_DIR
カレンダー入力機能にて使用するスタイルシート保存場所を メッセージリソースから取得するための取得キー。

関連項目:
定数フィールド値

CALENDAR_JAVASCRIPT_DIR

protected static final java.lang.String CALENDAR_JAVASCRIPT_DIR
カレンダー入力機能にて使用するカレンダー外部JavaScript保存場所を メッセージリソースから取得するための取得キー。

関連項目:
定数フィールド値

CALENDAR_HOLIDAY_PREFIX

protected static final java.lang.String CALENDAR_HOLIDAY_PREFIX
カレンダー入力機能にて使用する休日定義情報を メッセージリソースから取得するための取得キー。

関連項目:
定数フィールド値

CALENDAR_DEFAULT_FORMAT

protected static final java.lang.String CALENDAR_DEFAULT_FORMAT
デフォルトのフォーマット。

関連項目:
定数フィールド値

CALENDAR_DEFAULT_STYLEPREFIX_NAME

protected static final java.lang.String CALENDAR_DEFAULT_STYLEPREFIX_NAME
デフォルトスタイルプレフィックス名。

関連項目:
定数フィールド値

CALENDAR_DEFAULT_IMAGE_PATH

protected static final java.lang.String CALENDAR_DEFAULT_IMAGE_PATH
デフォルトの画像保存場所パス。

関連項目:
定数フィールド値

CALENDAR_DEFAULT_BUTTON_VALUE

protected static final java.lang.String CALENDAR_DEFAULT_BUTTON_VALUE
デフォルトのカレンダーボタン表示文字列。

関連項目:
定数フィールド値

CALENDAR_DEFAULT_STYLESHEET_DIR

protected static final java.lang.String CALENDAR_DEFAULT_STYLESHEET_DIR
デフォルトのスタイルシート保存場所。

関連項目:
定数フィールド値

CALENDAR_DEFAULT_JAVASCRIPT_DIR

protected static final java.lang.String CALENDAR_DEFAULT_JAVASCRIPT_DIR
デフォルトのカレンダー外部JavaScript保存場所。

関連項目:
定数フィールド値

CALENDAR_JAVASCRIPT_FILE_NAME

protected static final java.lang.String CALENDAR_JAVASCRIPT_FILE_NAME
カレンダー入力機能して使用するJavaScriptのファイル名。

関連項目:
定数フィールド値

CALENDAR_STYLESHEET_FILE_NAME

protected static final java.lang.String CALENDAR_STYLESHEET_FILE_NAME
カレンダー入力機能して使用するスタイルシートのファイル名(プレフィックス無し)。

関連項目:
定数フィールド値

INPUTCALENDAR_FLG

protected static final java.lang.String INPUTCALENDAR_FLG
出力状態フラグキー。

関連項目:
定数フィールド値

FORMAT_VALUE

protected static final java.lang.String FORMAT_VALUE
対応しているフォーマット文字群。

関連項目:
定数フィールド値
コンストラクタの詳細

InputCalendarTag

public InputCalendarTag()
メソッドの詳細

getFor

public java.lang.String getFor()
対応テキストフィールド指定属性の値を返却する。

戻り値:
対応テキストフィールド指定属性の値

setFor

public void setFor(java.lang.String forId)
対応テキストフィールド指定属性の値を設定する。

パラメータ:
forId - 設定する値

getFormat

public java.lang.String getFormat()
フォーマット指定属性の値を返却する。

戻り値:
フォーマット指定属性の値

setFormat

public void setFormat(java.lang.String format)
フォーマット指定属性の値を設定する。

パラメータ:
format - 設定する値

getFormatKey

public java.lang.String getFormatKey()
フォーマットキー指定属性の値を返却する。

戻り値:
フォーマットキー指定属性の値

setFormatKey

public void setFormatKey(java.lang.String formatKey)
フォーマットキー指定属性の値を設定する。

パラメータ:
formatKey - 設定する値

doStartTag

public int doStartTag()
               throws javax.servlet.jsp.JspException
タグ評価開始時に呼ばれるメソッド。 国際化対応のための当機能専用のリソースバンドルを取得する。 当機能を使用するためのJavaScriptおよびボタンの出力を行う。

定義:
インタフェース javax.servlet.jsp.tagext.Tag 内の doStartTag
オーバーライド:
クラス javax.servlet.jsp.tagext.TagSupport 内の doStartTag
戻り値:
処理制御指示
例外:
javax.servlet.jsp.JspException - JSP例外

defineJavaScript

protected void defineJavaScript(java.util.ResourceBundle calendarBundle)
                         throws javax.servlet.jsp.JspException
JavaScriptの定義部分を出力する。 日本語ロケールフラグ、現在日付付加文字列、スタイルプレフィックス、 カレンダー画像場所指定、カレンダースタイルシート場所指定、 カレンダーJavaScript場所指定の出力を行う。 また、スタイルシートの<link>要素、 カレンダー入力機能の<script>要素の出力を行う。

パラメータ:
calendarBundle - カレンダー入力機能用リソースバンドル
例外:
javax.servlet.jsp.JspException - JSP例外

getHolidayList

protected java.util.List<java.util.Map<java.lang.String,java.lang.String>> getHolidayList(java.util.ResourceBundle calendarBundle)
メッセージリソースに定義された休日定義を取得する。

パラメータ:
calendarBundle - カレンダー入力機能用リソースバンドル
戻り値:
取得した休日定義リスト

defineButton

protected void defineButton(java.util.ResourceBundle calendarBundle)
                     throws javax.servlet.jsp.JspException
カレンダー画面を表示するためのボタンを出力する。

パラメータ:
calendarBundle - カレンダー入力機能用リソースバンドル
例外:
javax.servlet.jsp.JspException - JSP例外

getParameter

protected java.lang.String getParameter(java.util.ResourceBundle calendarBundle,
                                        java.lang.String key,
                                        java.lang.String def)
メッセージリソースからキーを元に値を取得して返却する。 キーがnullまたは空白の場合、取得した値がnullの場合は デフォルト値を返却する。

パラメータ:
calendarBundle - カレンダー入力機能用リソースバンドル
key - メッセージリソースのキー
def - デフォルトとなる値
戻り値:
メッセージリソースから取得した値、またはデフォルト値

defineStringVariable

protected java.lang.String defineStringVariable(java.lang.String name,
                                                java.lang.String value)
引数にて渡された値をJavaScriptString宣言として返却する。
例:変数名「kanji」、値「漢字」⇒ 「var kanji = "漢字";\n」となる。

パラメータ:
name - JavaScriptで宣言する変数名
value - 変数の値
戻り値:
編集後文字列

defineObjectVariable

protected java.lang.String defineObjectVariable(java.lang.String name,
                                                java.lang.String value)
引数にて渡された値をJavaScriptObject宣言として、返却する。
例:変数名「obj1」、 値「document.forms[0]」 ⇒「var obj1 = document.forms[0];\n」となる。

パラメータ:
name - JavaScriptで宣言する変数名
value - 変数の値
戻り値:
編集後文字列

defineArrayVariable

protected java.lang.String defineArrayVariable(java.lang.String arrayName,
                                               java.lang.String[] array)
引数にて渡された配列をJavaScriptArray型として編集して返却する。
例:変数名「array」、値「10,20,30」 ⇒「var obj1 = new Array("10","20","30");\n
なお、引数arrayがnullの場合は、NullPointerExceptionが発生する。

パラメータ:
arrayName - JavaScriptで宣言する変数名
array - Arrayとして作成する値を保持する配列
戻り値:
編集後文字列

mapWeekdays

protected java.lang.String[] mapWeekdays(java.text.DateFormatSymbols symbols)
指定されたデートフォーマットシンボルから「曜日」を取得して返却する。

パラメータ:
symbols - デートフォーマットシンボル(ロケール設定済み)
戻り値:
取得した「曜日」を格納した配列

mapMonths

protected java.lang.String[] mapMonths(java.text.DateFormatSymbols symbols)
指定されたデートフォーマットシンボルから「月」を取得して返却する。

パラメータ:
symbols - デートフォーマットシンボル(ロケール設定済み)
戻り値:
取得した「月」を格納した配列

getPageContextFlg

protected boolean getPageContextFlg(javax.servlet.jsp.PageContext pageContext,
                                    java.lang.String key)
指定されたKEYにて取得した値を真偽値に変換して返却する。 なお、引数keyがnullの場合は、NullPointerExceptionが発生する。

パラメータ:
pageContext - ページコンテキスト
key - FLGを取得するKEY
戻り値:
指定されたKEYにて取得した出力状態フラグ

setPageContextFlg

protected void setPageContextFlg(javax.servlet.jsp.PageContext pageContext,
                                 java.lang.String key)
ページコンテキストに対して、指定されたKEYのフラグを設定する。 なお、引数keyがnullの場合は、NullPointerExceptionが発生する。

パラメータ:
pageContext - ページコンテキスト
key - FLGを設定するKEY

createFormat

protected java.lang.String createFormat(java.lang.String format)
引数の文字列に対してデートフォーマットの精査を行う。 文字列がnull、または空白の場合は、 そのまま返却する。 また、文字列がデートフォーマットに対応していない場合は、無視する。

パラメータ:
format - デートフォーマット
戻り値:
精査後のフォーマット文字列

release

public void release()
すべてのアロケートされた資源を解放する。

定義:
インタフェース javax.servlet.jsp.tagext.Tag 内の release
オーバーライド:
クラス javax.servlet.jsp.tagext.TagSupport 内の release