Class TemplateUtil

java.lang.Object
org.iplass.mtp.web.template.TemplateUtil

public class TemplateUtil extends Object
テンプレートを作成する際利用可能なユーティリティメソッド。
  • Constructor Details

    • TemplateUtil

      public TemplateUtil()
  • Method Details

    • getStaticContentPath

      public static String getStaticContentPath()

      静的コンテンツパスを返します。

      service-configに設定されたstaticContentPathを返します。

      Returns:
      静的コンテンツパス
    • getTenantContextPath

      public static String getTenantContextPath()

      テナントコンテキストパスを返します。

      • 通常は「HttpServletRequest#getContextPath() + テナントメタ#テナントURL」を返します。
      • テナントURLが「/」の場合は、最後に「/」は付与しません。
      • テナントメタに「リクエストパス構築用テナントURL」を指定している場合はその値を返します。
      • 「リクエストパス構築用テナントURL」が「/」の場合は空を返します。

        例えば通常の「http://host:port/tenant/」を「http://aaaaaa/」にマッピングしている場合、「リクエストパス構築用テナントURL」には「/」を指定します。 この場合このメソッドの戻り値は空です。

    • getResourceContentPath

      public static String getResourceContentPath(String resourcePath)

      リソースパスからcssやjs、imgなどに指定するパスを返します。

      以下のルールによりパスを判断します。

      • 「/」で始まる場合は静的コンテキストパスからの指定と判断します。
      • 「http」で始まる場合は外部リソースと判断します。
      • 上記以外(actionなどの指定含む)の場合は、テナントコンテキストパスからの指定と判断します。

      Parameters:
      resourcePath -
      Returns:
    • getRequestContext

      public static RequestContext getRequestContext()
      RequestContextのインスタンスを取得します。
      Returns:
    • getTenant

      public static Tenant getTenant()
    • getClientTenantId

      public static int getClientTenantId()
    • includeTemplate

      public static void includeTemplate(String templateName, jakarta.servlet.jsp.PageContext pageContext) throws IOException, jakarta.servlet.ServletException

      テンプレートを直接includeします。

      直接テンプレートをincludeするためCommandは実行されません。

      Parameters:
      templateName - テンプレート名
      pageContext - 呼び出し元がjspの場合、jspのPageContextを引数に渡す
      Throws:
      IOException
      jakarta.servlet.ServletException
    • includeTemplate

      public static void includeTemplate(String templateName, jakarta.servlet.jsp.PageContext pageContext, RequestContextWrapper requestContext) throws IOException, jakarta.servlet.ServletException

      テンプレートを直接includeします。

      直接テンプレートをincludeするためCommandは実行されません。 requestContextを指定した場合は、呼び出し先でその(上書きされた)requestContextで処理が実行されます。

      Parameters:
      templateName - テンプレート名
      pageContext - 呼び出し元がjspの場合、jspのPageContextを引数に渡す
      requestContext - include先で利用するRequestContextを指定
      Throws:
      IOException
      jakarta.servlet.ServletException
    • include

      public static void include(String actionName, jakarta.servlet.jsp.PageContext pageContext) throws IOException, jakarta.servlet.ServletException
      別Actionをincludeします。
      Parameters:
      actionName - アクション名
      pageContext - 呼び出し元がjspの場合、jspのPageContextを引数に渡す
      Throws:
      IOException
      jakarta.servlet.ServletException
    • include

      public static void include(String actionName, jakarta.servlet.jsp.PageContext pageContext, RequestContextWrapper requestContext) throws IOException, jakarta.servlet.ServletException

      別Actionをincludeします。

      requestContextを指定した場合は、呼び出し先でその(上書きされた)requestContextで処理が実行されます。

      Parameters:
      actionName - アクション名
      pageContext - 呼び出し元がjspの場合、jspのPageContextを引数に渡す
      requestContext - include先で利用するRequestContextを指定
      Throws:
      IOException
      jakarta.servlet.ServletException
    • renderContent

      public static void renderContent(jakarta.servlet.jsp.PageContext pageContext) throws IOException, jakarta.servlet.ServletException
      レイアウトテンプレートで、コンテンツをレンダリングする場所で呼び出す。
      Parameters:
      pageContext - 呼び出し元がjspの場合、jspのPageContextを引数に渡す
      Throws:
      IOException
      jakarta.servlet.ServletException
    • outputToken

      public static String outputToken(TemplateUtil.TokenOutputType outputStyle)

      新規に生成されたトランザクショントークンを返します。

      createNew=trueでoutputToken(TokenOutputType, boolean)を呼び出します。

      Parameters:
      outputStyle - 出力形式
      Returns:
      トランザクショントークン
    • outputToken

      public static String outputToken(TemplateUtil.TokenOutputType outputStyle, boolean createNew)

      トランザクショントークンを返します。

      URLの場合、_t=254a-fa...形式で出力。
      FORM_HTMLの場合、<input type="hidden" name="_t" value="254a-fa..." >形式で出力。
      FORM_XHTMLの場合、<input type="hidden" name="_t" value="254a-fa..." /invalid input: '&gt'形式で出力。
      VALUEの場合、単純にトランザクショントークンの値のみを出力(WebApi(javaScript)でHTTPヘッダーやリクエストにセットする際に利用することを想定)。

      createNewがtrueの場合は、ワンタイムのトランザクショントークンとして新規にトークンを生成します。
      createNewがfalseの場合は、すでに発行済みの(セッション単位に固定の)トークンを返します。
      固定のトークンは、単純にCSRFを防ぎたい場合に利用可能です。 ワンタイムのトークンはCSRF対策に加えて、そのトークンに関連するトランザクションの重複起動を防御することが可能です。

      Parameters:
      outputStyle - 出力形式
      createNew - 新規のトークンを発行する場合はtrue。すでに発行済みの(セッション単位に固定の)トークンを取得する場合はfalse。
      Returns:
      トランザクショントークン
    • getCurrentTimestamp

      public static Timestamp getCurrentTimestamp()
    • getString

      @Deprecated public static String getString(String key)
      Deprecated.
      getResourceString(String, Object...) を利用してください。
      リソースファイルに定義した文字列を取得します。
      Parameters:
      key - KEY
      Returns:
      リソース文字列
    • getString

      @Deprecated public static String getString(String key, Object... arguments)
      Deprecated.
      getResourceString(String, Object...) を利用してください。
      リソースファイルに定義した文字列を取得します。
      Parameters:
      key - KEY
      arguments - 引数
      Returns:
      リソース文字列
    • getResourceString

      public static String getResourceString(String key, Object... arguments)
      リソースファイルに定義した文字列を取得します。
      Parameters:
      key - KEY
      arguments - 引数
      Returns:
      リソース文字列
    • getResourceString

      public static String getResourceString(ResourceBundle resource, String key, Object... arguments)
      リソースファイルに定義した文字列を取得します。
      Parameters:
      resource - リソースバンドル
      key - KEY
      arguments - 引数
      Returns:
      リソース文字列
    • getAPIVersion

      public static String getAPIVersion()
      APIのバージョン番号を返します。
      Returns:
      バージョン番号
    • getEnableLanguages

      public static Map<String,String> getEnableLanguages()
    • getMessageCategory

      public static MessageCategory getMessageCategory(String catName)
      指定のカテゴリ名のMessageCategoryを取得。
      Parameters:
      catName -
      Returns:
    • getMessageString

      public static String getMessageString(String catName, String msgId, Object... args)
      指定のカテゴリ名、メッセージIDでメッセージ文字列を取得。 取得されたメッセージ文字列は、多言語を考慮した形で、フォーマット済み。
      Parameters:
      catName -
      msgId -
      args - メッセージをフォーマットする場合の引数
      Returns:
    • getMessageString

      public static String getMessageString(MessageItem message, Object... args)
      指定のMessageItemでメッセージ文字列を取得。 取得されたメッセージ文字列は、多言語を考慮した形で、フォーマット済み。
      Parameters:
      message -
      args -
      Returns:
    • getMultilingualString

      public static String getMultilingualString(String defaultString, List<LocalizedStringDefinition> localizedStringList)
    • getMultilingualString

      public static String getMultilingualString(String viewString, List<LocalizedStringDefinition> viewLocalizedStringList, String propDefString, List<LocalizedStringDefinition> propDefLocalizedStringList)
    • getLanguage

      public static String getLanguage()
    • getLocale

      public static Locale getLocale()
    • getTimeZone

      public static TimeZone getTimeZone()
    • getLocaleFormat

      public static org.iplass.mtp.impl.i18n.LocaleFormat getLocaleFormat()
    • getLanguageFonts

      public static String getLanguageFonts(String langage)