fmt:消息默认值

时间:2011-12-15 16:15:21

标签: java jsp jstl

如果没有定义密钥,有没有办法输出默认值?

<fmt:message key='some.key' />

我希望default属性存在,但事实并非如此。

2 个答案:

答案 0 :(得分:1)

使用上面BalusC的提示,可以直接检查缺少密钥时返回的已知字符串。不需要jakarta string lib。

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>

...

<fmt:bundle basename="myBundle">
    <fmt:message key="some.key" var="myVar"/>
</fmt:bundle>
<c:if test = "${pageScope.myVar == '???some.key???'}">
    <c:set var="myVar" value="My Default Value"/>
</c:if>

答案 1 :(得分:0)

我发现了这个解决方法

<str:replace replace="undef (some.key)" with="some default value">
    <fmt:message key='some.key' />
</str:replace>

这不是最漂亮的想法。