タグリファレンス

次のタグライブラリのリファレンスです。

Cubby functions

Cubby functions

タグのバージョン:1.0.

    *が付く属性は必須です。

    Cubby tags

    Cubby tag library

    タグのバージョン:1.0.

    • form HTML の form タグを出力します。 t:input/t:select/t:textarea タグで参照するフォームオブジェクトを指定します。
    • input HTML の input タグを出力します。
    • link アクションクラス名、アクションメソッド名から URL を出力します。 ボディ部に t:param タグ置くことで、URL 埋め込みのパラメータやクエリ文字列のパラメータを指定することができます。
    • param t:form、t:link のボディ部でパラメータを指定するためのタグです。
    • select HTML の select タグと option タグを出力します。
    • textarea HTML の textarea タグを出力します。
    • token 2重サブミット防止用の input タグ(type="hidden")を出力します。

    *が付く属性は必須です。

    <t:form>

    HTML の form タグを出力します。

    t:input/t:select/t:textarea タグで参照するフォームオブジェクトを指定します。

    このタグは子要素にスクリプトレットを含むことができます。

          
    [1] action 属性を JSP 上で指定する
    (JSP)
    <t:form action="${contextPath}/foo/bar" value="${action}">
      ...
    </t:form>
    
    (実行結果)
    <form action="/(contextPath)/foo/var"&>
      ...
    </form>
    
    [2] action 属性をクラス、メソッドで指定する
    (JSP)
    <t:form actionClass="com.example.action.FooAction" actionMethod="bar" value="${action}">
      ...
    </t:form>
    
    (実行結果)
    <form action="/(contextPath)/foo/var" >
      ...
    </form>
    
    [3] プロトコル(HTTPS)を指定する
    (JSP)
    <t:form actionClass="com.example.action.FooAction" actionMethod="bar" value="${action}" protocol="https">
      ...
    </t:form>
    
    (実行結果)
    <form action="https://www.example.com/(contextPath)/foo/bar" >
      ...
    </form>
    	  
        

    属性

    属性名 説明
    actionClass アクションクラス、メソッドから action 属性を生成するためのアクションクラスを FQCN で指定します。

    この属性を指定した場合は、必ず actionMethod 属性も指定してください。 JSP 上に action 属性が指定してあった場合はこの属性から生成した URL で上書きされます。

    URL 埋め込みパラメータやクエリ文字列のパラメータが必要な場合は t:param タグをボディ部に指定してください。 指定方法は t:link タグと同様です。

    String
    actionMethod アクションクラス、メソッドから action 属性を生成するためのアクションメソッドを指定します。

    この属性を指定した場合は、必ず actionClass 属性も指定してください。

    String
    encodeURL 出力する URL を HttpServletResponse#encodeURL(String) でエンコードするかを指定します。デフォルトは true です。 String
    port 出力する URL のポートを指定します。 String
    protocol 出力する URL のプロトコルを指定します。主にhttps/httpの切り替えに使用します。 String
    value* フォームオブジェクトを指定します。 String

    <t:input>

    HTML の input タグを出力します。

    このタグは子要素にスクリプトレットを含むことができません。

          
    (JSP)
    <t:input name="title"/>
    
    (実行結果)
    <input name="title" value="Todo Title"/>
          
        

    属性

    属性名 説明
    checkedValue type 属性が radio/checkbox の場合に、フォームオブジェクトの値よりも優先的に比較対象となる値を指定します。

    この値と value 属性の値が一致した場合には checked 属性が true になります。

    String
    index name 属性で指定したフォームオブジェクトのプロパティに複数の値がある場合に、何番目の要素なのかを指定します。 String
    name* value 属性として出力する値を取得するフォームオブジェクトのプロパティ名を指定します。

    この属性の値は name 属性としてそのまま出力されます。

    String
    type* この属性の値は type 属性としてそのまま出力されます。 String
    value この属性の値は value 属性としてそのまま出力されます。 指定しなかった場合は name 属性で指定したフォームオブジェクトのプロパティから取得した値が value 属性として出力されます。

    type 属性が radio/checkbox の場合は、この値と name 属性で指定したフォームオブジェクトのプロパティから取得した値(もしくは checkedValue で指定した値)が一致した場合には checked 属性が true になりますので、必ず指定するようにしてください。

    String

    <t:link>

    アクションクラス名、アクションメソッド名から URL を出力します。

    ボディ部に t:param タグ置くことで、URL 埋め込みのパラメータやクエリ文字列のパラメータを指定することができます。

    このタグは子要素にスクリプトレットを含むことができません。

          
    [1] URL をそのまま出力
    (JSP)
    <t:link actionClass="com.example.action.FooAction" actionMethod="bar" />
    
    (実行結果)
    /(contextPath)/foo/bar
    
    [2] URL を a タグに出力
    (JSP)
    <t:link actionClass="com.example.action.FooAction" actionMethod="bar"
            tag="a" attr="href">
        link to action
    </t:link>
    
    (実行結果)
    <a href="/(contextPath)/foo/bar">
        link to action
    </a>
    
    [3] パラメータ指定 (アクションメソッドに @Path("baz/{id}") という指定があった場合)
    (JSP)
    <t:link actionClass="com.example.action.FooAction" actionMethod="bar"
            tag="a" attr="href">
        <t:param name="id" value="123" />
        <t:param name="token" value="abc" />
        link to action
    </t:link>
    
    (実行結果)
    <a href="/(contextPath)/foo/bar/123&token=abc">
        link to action
    </a>
    
    [4] プロトコル(HTTPS)を指定して出力
    (JSP)
    <t:link actionClass="com.example.action.FooAction" actionMethod="bar" protocol="https"/>
    
    (実行結果)
    https://www.example.com/(contextPath)/foo/bar
          
        

    属性

    属性名 説明
    actionClass* FQCN 形式でアクションクラスを指定します。 String
    actionMethod* アクションメソッドを指定します。 String
    attr tag 属性が指定された時に、a なら href、img なら src など、タグのどの属性に URL を出力するかを指定します。

    tag 属性を指定したときは必ず指定してください。

    String
    encodeURL 出力する URL を HttpServletResponse#encodeURL(String) でエンコードするかを指定します。デフォルトは true です。 String
    port 出力する URL のポートを指定します。 String
    protocol 出力する URL のプロトコルを指定します。主にhttps/httpの切り替えに使用します。 String
    tag URL を a や img など、指定された HTML タグの属性として出力します。

    この属性を指定したときは、必ず attribute 属性も指定してください。

    String

    <t:param>

    t:form、t:link のボディ部でパラメータを指定するためのタグです。

    このタグは子要素にスクリプトレットを含むことができません。

    属性

    属性名 説明
    name* パラメータ名です。 String
    value パラメータの値です。

    この属性が指定されていない場合はボディ部を値として使用します。

    String

    <t:select>

    HTML の select タグと option タグを出力します。

    このタグは子要素にスクリプトレットを含むことができません。

          
    (JSP)
    <t:select name="typeId" items="${todoTypes}" labelProperty="name" valueProperty="id"/>
    
    (実行結果)
    <select name="typeId">
      <option value="1">TodoType 1</option>
      <option value="2">TodoType 2</option>
    </select>
          
        

    属性

    属性名 説明
    emptyOption 空白の option タグを出力するかどうかを指定します。

    省略した場合は true と見なして先頭に空白の option タグが出力されます。

    String
    emptyOptionLabel 空白の option タグの表示文字列を指定します。

    省略した場合は何も表示されません。

    String
    items* option タグの内容を表すリストを指定します。

    配列や java.util.Collection、java.util.Map 型が指定できます。

    String
    labelProperty items 属性で指定したリストの要素から、option タグの表示文字列として使用するプロパティ名を指定します。

    items 属性で指定した型が java.util.Map の場合は無視されます。

    String
    name* selected 属性を付加する option タグを決めるための値を取得するプロパティ名を指定します。

    この属性の値は name 属性としてそのまま出力されます。

    String
    valueProperty items 属性で指定したリストの要素から、option タグの値として使用するプロパティ名を指定します。

    items 属性で指定した型が java.util.Map の場合は無視されます。

    String

    <t:textarea>

    HTML の textarea タグを出力します。

    このタグは子要素にスクリプトレットを含むことができません。

          
    (JSP)
    <t:textarea name="memo"/>
    
    (実行結果)
    <textarea name="memo">Memo 1</textarea>
          
        

    属性

    属性名 説明
    index name 属性で指定したフォームオブジェクトのプロパティに複数の値がある場合に、何番目の要素なのかを指定します。 String
    name* value 属性として出力する値を取得するフォームオブジェクトのプロパティ名を指定します。

    この属性の値は name 属性としてそのまま出力されます。

    String
    value この属性の値は value 属性としてそのまま出力されます。

    指定しなかった場合は name 属性で指定したフォームオブジェクトのプロパティから取得した値が value 属性として出力されます。

    String

    <t:token>

    2重サブミット防止用の input タグ(type="hidden")を出力します。

    このタグは子要素にスクリプトレットを含むことができません。

          
    (JSP)
    <t:form value="${action}">
      <t:token / >
    <t:/form>
    
    (実行結果)
    <form>
      <input type="hidden" name="cubby.token" value="ランダムな文字列...">
    </form>
    
    (アクション)
    public class TokenAction extends Action {
      ...
      public ValidationRules validation = new DefaultValidationRules() {
      @Override
        public void initialize() {
          add("cubby.token", new TokenValidator());
        }
      };
      ...
      @Form
      @Validation(errorPage="token.jsp", rules = "validation")
      public ActionResult message() {
        return new Forward("result.jsp");
      }
            
    }
          
        

    属性

    属性名 説明
    name value 属性として出力する値を取得するフォームオブジェクトのプロパティ名を指定します。

    この属性の値は name 属性としてそのまま出力されます。 name 属性が省略された場合の初期値は「cubby.token」です。

    String