我必须在发生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'
。