【发布时间】:2014-04-23 19:24:06
【问题描述】:
我们正在寻找外部化我们的 JSP,目前包含如下内容:
<c:when test="${productObject.was}"><span>Was ${price} - now ${salePrice}</span><br /></c:when>
我们已经有一个可以用于此目的的 Java 函数 (lm.getString) - 它接受英文字符串(包括参数标签)、替换变量的哈希图和语言,例如
wasPriceString = "Was <price> - now <salePrice>";
lang = "ESP";
HashMap hm = new HashMap();
hm.put("salePrice", price);
hm.put("price", regPrice);
wasPriceString = lm.getString(wasPriceString, hm, lang);
并返回翻译后的字符串,并插入参数,例如“原价 17.99 美元 - 现在 11.50 美元”(英语)或“时代 17.99 美元 - ahora 11.50 美元”(西班牙语)。
我们在我们的 Java 代码中使用它,但现在我也希望更改 JSP。我的问题是,这可以在 JSP 本身(传递参数)中轻松完成吗?如果没有,最好的选择是什么?我宁愿不简单地翻译输出文本,因为这只是 hacky,并导致这种邪恶:
<c:when test="${productObject.was}"><span><fmt:message key="textWas_ui"/> ${price} - <fmt:message key="textNow_lc"/> ${salePrice}</span><br /></c:when>
我是否遗漏了一些明显的东西?
【问题讨论】:
标签: java jsp internationalization el