处理Struts消息资源文件的错过密钥

时间:2016-03-15 09:15:28

标签: jsp internationalization struts jsp-tags

我必须在发生JspException: Missing message for key ...时处理这种情况。我得到了各种关键定义,这些我已定义翻译我要翻译,当i18n文件中不存在定义时我想保持不变。

我的JSP代码如下:

<%@taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
...

<% String propertyname_i18n_key = "mypage.section1." + property.getPropName();%>
<bean:define id="propName_i18n"><bean:message key='<%=propertyname_i18n_key%>'/></bean:define>
<% if(propName_i18n != null){
    out.println(propName_i18n);
}else{
    out.println(property.getPropName()); }%>

所以当我的i18n def看起来像:

mypage.section1.name=Name
mypage.section1.url=URL
mypage.section1.encoding-error=Encoding error

我想得到:

name -> Name
url -> URL
trandlate-error -> translate-error
encoding-error -> Encoding error
something-not-defined -> something-not-defined

而不是JspException: Missing message for key 'mypage.section1.translate-error'

0 个答案:

没有答案