代码之家  ›  专栏  ›  技术社区  ›  Dave Jensen Steve

如何使用JSTL标记检查资源包密钥是否不存在?

  •  10
  • Dave Jensen Steve  · 技术社区  · 16 年前

    我有一个资源文件,它将有一些可选的键。如果可选资源键不存在,我将设置默认值。似乎没有简单的方法来确定资源包中是否存在密钥。所以这就是我要做的来绕过它。

    <fmt:message var="title" key="login.reg.signup.${signupForm.regfrom}.title" />
    <c:if test='${fn:startsWith(title, "??")}'>
        <fmt:message var="title" key="login.reg.signup.default.title" /> 
    </c:if>
    

    有更好的方法吗?

    2 回复  |  直到 13 年前
        1
  •  6
  •   Peter Hilton    16 年前

    您可以编写自己的JSP标记来实现这一点,这样您就可以:

    <my:message var="title" key="${form}.title" default="default.title"/>
    

    标记实现既可以是当前的JSP语法,也可以是Java类。

        2
  •  2
  •   Matt Ball    13 年前

    你可以使用 #{messagesFactory.messages.containsKey('key')} 检查。