Cubbyのカスタムタグはフォーム値の表示・復元・バリデーション結果の反映に使用します。 以下のタグライブラリ宣言を行うことでカスタムタグが使用できます。
<%@ taglib uri="http://www.seasar.org/cubby/tags" prefix="t" %>
Cubby のカスタムタグは、全て JSP2.0のDynamic-Attribute に対応しています。 カスタムタグに定義されていない属性はそのまま素直に出力されます。
カスタムタグ一覧
用途 | タグ名 | 説明 |
入力フォーム作成 | form | form タグを出力します。 |
入力フォーム作成 | input | input タグを出力します。 |
入力フォーム作成 | select | select タグと option タグを出力します。 |
入力フォーム作成 | textarea | textarea タグを出力します。 |
レイアウト共用 | template | 指定テンプレート JSP に従ってレイアウトします。 |
特殊 | null | 何も出力しません。 |
HTML の form タグを出力します。 Cubby の input/select/textarea タグで参照するフォーム用オブジェクトを指定するために使用します。
属性名 | 型 | EL式の使用 | 必須 | 説明 |
value | Object | ○ | ○ | フォームオブジェクトを指定します。 |
使用例
<t:form value="${action}"> ... <t:/form>
結果
<form> ... </form>
HTML の input タグを出力します。
属性名 | 型 | EL式の使用 | 必須 | 説明 |
name | String | ○ | ○ | value 属性として出力する値を取得するプロパティ名を指定します。 この属性の値は name 属性としてそのまま出力されます。 |
type | String | ○ | ○ | text/password/checkbox/radio/hidden が指定できます。 この属性の値は type 属性としてそのまま出力されます。 |
checkedValue | String | ○ | × | type 属性が radio/checkbox の場合にポストされる値を指定します。 この値と name 属性で指定したプロパティから取得した値が一致した場合には checked 属性が true になります。 type 属性が radio/checkbox の場合は必ず指定してください。 |
使用例
<t:input name="title"/>
結果
<input name="title" value="Todo Title"/>
HTML の select タグと option タグを出力します。
属性名 | 型 | EL式の使用 | 必須 | 説明 |
name | String | ○ | ○ | selected 属性を付加する option タグを決めるための値を取得するプロパティ名を指定します。 この属性の値は name 属性としてそのまま出力されます。 |
items | String | ○ | ○ | option タグの内容を表すリストを指定します。 |
valueProperty | String | ○ | ○ | items 属性で指定したリストの要素から、option タグの値として使用するプロパティ名を指定します。 |
labelProperty | String | ○ | ○ | items 属性で指定したリストの要素から、option タグの表示文字列として使用するプロパティ名を指定します。 |
emptyOption | Boolean | ○ | × | 空白の option タグを出力するかどうかを指定します。 省略した場合は true と見なして先頭に空白の option タグが出力されます。 |
emptyOptionLabel | String | ○ | × | 空白の option タグの表示文字列を指定します。 省略した場合は何も表示されません。 true と見なして先頭に空白の option タグが出力されます。 |
使用例
<t:select name="typeId" items="${todoTypes}" labelProperty="name" valueProperty="id"/>
結果
<select name="typeId"> <option name="1">TodoType 1</option> <option name="2">TodoType 2</option> </select>
HTML の textarea タグを出力します。
属性名 | 型 | EL式の使用 | 必須 | 説明 |
name | String | ○ | ○ | value 属性として出力する値を取得するプロパティ名を指定します。 この属性の値は name 属性としてそのまま出力されます。 |
使用例
<t:textarea name="memo"/>
結果
<textarea name="memo">Memo 1<textarea name="memo">
指定した JSP をテンプレートとして使用します。 レイアウトを継承したい場合に使用してください。
現在のバージョンでは1段階のレイアウト継承のみ対応しています。 将来的には多段階の継承に対応する予定です。
属性名 | 型 | EL式の使用 | 必須 | 説明 |
extends | String | ○ | ○ | テンプレートとして使用するJSPを指定します。 |
その他の属性 | String | ○ | ○ | テンプレート内で使用するパーツ名を属性名として、表示するHTMLを値として指定します。 |
使用例
<t:template extends="/template.jsp"> <jsp:attribute name="title">タイトル</jsp:attribute> <jsp:attribute name="content"> 表示コンテンツ <t:form ...>...</t:form> </jsp:attribute> </t:template>
テンプレート (/template.jsp)
... <title>${parts['title']}</title> ... <div id="header">...</div> <div id="content> ${parts['content']} </div> <div id="footer">...</div>
結果
... <title>タイトル</title> ... <div id="header">...</div> <div id="content> 表示コンテンツ <form>...</form> </div> <div id="footer">...</div>
このタグで囲まれた領域は出力されません。 JSP のプレビュー用に表示したいダミーの HTML などをこのタグで囲みます。
このタグに属性はありません。
使用例
<t:null>Dummy HTML</t:null>
結果
何も出力されません