Class MultivaluedInputTagWriterSupport

java.lang.Object
nablarch.common.web.tag.MultivaluedInputTagWriterSupport
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
CodeTagWriterSupport, ListTagWriterSupport

public abstract class MultivaluedInputTagWriterSupport extends Object implements Serializable
多値の入力項目の実装をサポートするクラス。
See Also:
  • Constructor Details

    • MultivaluedInputTagWriterSupport

      public MultivaluedInputTagWriterSupport()
  • Method Details

    • setListFormat

      public void setListFormat(ListFormat listFormat)
      リスト表示時に使用するフォーマットを設定する。
       下記のいずれかを指定する。
       br(brタグ)
       div(divタグ)
       span(spanタグ)
       ul(ulタグ)
       ol(olタグ)
       sp(スペース区切り)
       
       デフォルトはbr。
       
      Parameters:
      listFormat - リスト表示時に使用するフォーマット
    • setErrorCss

      public void setErrorCss(String errorCss)
      エラーレベルのメッセージに使用するCSSクラス名を設定する。
      デフォルトは"nablarch_error"。
      Parameters:
      errorCss - エラーレベルのメッセージに使用するCSSクラス名
    • setNameAlias

      public void setNameAlias(String nameAlias)
      name属性のエイリアスを設定する。
      複数指定する場合はカンマ区切り。
      Parameters:
      nameAlias - name属性のエイリアス
    • writeTag

      public void writeTag(jakarta.servlet.jsp.PageContext pageContext, HtmlAttributes attributes) throws jakarta.servlet.jsp.JspException
      多値の入力項目を出力する。
       選択項目リストが存在しない場合は何も出力しない。
       入力画面の場合は、createInputTag(PageContext, HtmlAttributes, List, Collection, ListFormat, HtmlAttributes)に処理を移譲する。
       確認画面の場合は、createOutputTag(PageContext, HtmlAttributes, List, Collection, ListFormat)に処理を移譲する。
       
       入力画面の場合のみname属性に対応するエラーメッセージが存在する場合はclass属性に指定されたCSSクラス名を追記で設定する。
       
      Parameters:
      pageContext - ページコンテキスト
      attributes - 属性
      Throws:
      jakarta.servlet.jsp.JspException - JSP例外
    • getValues

      protected Collection<?> getValues(jakarta.servlet.jsp.PageContext pageContext, HtmlAttributes attributes)
      多値としてname属性に対応するvalue属性を取得する。
      取得先はリクエストパラメータと変数スコープとする。
      Parameters:
      pageContext - ページコンテキスト
      attributes - 属性
      Returns:
      value属性。存在しない場合は空のリスト
    • isConfirmationPage

      protected boolean isConfirmationPage(jakarta.servlet.jsp.PageContext pageContext)
      JSPが生成する画面が確認画面であるか否かを判定する。
      Parameters:
      pageContext - ページコンテキスト
      Returns:
      確認画面の場合はtrue、確認画面でない場合はfalse
    • createOutputTag

      protected String createOutputTag(jakarta.servlet.jsp.PageContext pageContext, HtmlAttributes attributes, List<?> list, Collection<?> values, ListFormat listFormat)
      出力タグを作成する。
       name属性に対応する入力データが存在する場合は指定されたフォーマットで出力する。
       ラベルはHTMLエスケープして出力する。
       
      Parameters:
      pageContext - ページコンテキスト
      attributes - 属性
      list - リスト
      values - 入力値
      listFormat - リストタグ
      Returns:
      出力タグ
    • createInputTag

      protected abstract String createInputTag(jakarta.servlet.jsp.PageContext pageContext, HtmlAttributes attributes, List<?> list, Collection<?> values, ListFormat listFormat, HtmlAttributes listAttributes)
      入力タグを作成する。
      Parameters:
      pageContext - ページコンテキスト
      attributes - 属性
      list - リスト
      values - 入力値
      listFormat - リストタグ
      listAttributes - リストタグ用の属性。 name属性に対応するエラーメッセージが存在する場合は、CSSクラス名を設定している。
      Returns:
      入力タグ
    • getValue

      protected abstract String getValue(Object element)
      値を取得する。
      Parameters:
      element - リスト要素
      Returns:
    • getFormattedLabel

      protected abstract String getFormattedLabel(Object element, String value)
      整形済みのラベルを取得する。
      Parameters:
      element - リスト要素
      value - リスト要素の値
      Returns:
      整形済みのラベル
    • getList

      protected abstract List<?> getList(jakarta.servlet.jsp.PageContext pageContext)
      リストを取得する。
      Parameters:
      pageContext - ページコンテキスト
      Returns:
      リスト
    • getDefaultListFormat

      protected abstract ListFormat getDefaultListFormat()
      リスト表示時に使用するフォーマットのデフォルト値を取得する。
      Returns:
      リスト表示時に使用するフォーマットのデフォルト値