问题描述
我需要本地化一个 JSP
文件,其中有很多 <fmt:message>
。
现在我有如下代码:
<c:set var="translation1">
<fmt:message key="translation1"/>
</c:set>
<c:set var="translation2">
<fmt:message key="translation2"/>
</c:set>
<c:set var="translation3">
<fmt:message key="translation3"/>
</c:set>
.
.
.
但是这些 <fmt:message>
的显示是动态的,而不是硬编码的。它取决于从 java
文件返回的数组。
数组包含 translation1
、translation2
和 translation3
等键,它们与上面代码中的键相同。
因此,理想情况下,我应该能够使用数组中的这些键来引用这些本地化消息。
例如:如果array[0].key
的值为translation1
,我应该使用${${array[0].key}}
来获取由
<c:set var="translation1">
<fmt:message key="translation1"/>
</c:set>
但不支持此语法。
所以我认为使用 <c:set>
创建地图可能会有所帮助。
例如,如果我能做到
// The Syntax is of course wrong,which is what I am asking for help for.
<c:set var="keysMapTranslations">
translation1: <fmt:message key="translation1"/> // message value: "ABC"
translation2: <fmt:message key="translation2"/> // message value: "DEF"
translation3: <fmt:message key="translation3"/> // message value: "GHI"
</c:set>
然后在 HTML 中,我可以做到
<div>
<c:set var="key" value="${array[0].key}"/> // array[0].key = "translation1"
<c:set var="translation" value="${keysMapTranslations[key]}"/> // keysMapTranslations[key] refers to <fmt:message key="translation1"/>
${translation} // Should display "ABC"
</div>
所以..我想知道如何编写 <c:set var="keysMapTranslations">
部分来创建地图并用几个 <fmt:message/>
填充它?
提前致谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)