2012年1月至3月我出差北京,参与了一个对日电子商务站的项目开发。由于本地是中文环境因此所有页面的message,文字都要做国际化。有几种情况需要特殊处理才能让国际化文字显示出来。
1、页面Javascript弹出的消息框中的文字
jqDialog.alert("<s:text name='priceRule.OperationFailedPleaseTryLater'/>");
<s:text>标签中name的值需要用单引号引起来,正常在html中用双引号引起来。
2、使用<s:textfiled>标签时,文本框默认显示文字的情况
这中情况下,当鼠标点击文本框中的文字是提示输入的文字消失,当光标移开默认文字再次回显。此时value属性中默认文字的国际化不起作用。最终解决方法是弃用<s:textfiled>标签,改用普通html文本框。
<input type="text" id="numUpper" name="numUpper" style="width:150px" οnfοcus="javascript:if (this.value=='<s:text name="priceRule.inputNumUpper"/>'){this.value='';this.select();}" οnblur="if(value=='') {value='<s:text name="priceRule.inputNumUpper"/>'}" value="<s:text name="priceRule.inputNumUpper"/>" maxlength="9"></td>