使用bean消息标记(i18n)在jsp中初始化输入标记(html)

时间:2013-03-30 10:05:30

标签: javascript html jsp java-ee javabeans

是JavaEE的新手,所以我仍然试图找到自己的脚。好吧,为了使我的页面国际化,我尝试使用bean消息标记初始化输入文本标记。

如果我对国际化我的价值属性不感兴趣,那就是我会做的事情:

<tr>
 <td><bean:message key="form.birthdate" /><span>:</span></td>
   <td><html:text property="day" value="day" /></td>
     <td><html:text property="month" value="month" /></td>
    <td><html:text property="year" value="year" /></td>
</tr>

现在,我决定使用javascript文件进行初始化:

function initialise(){
document.getElementById("day").value="<bean:message key="form.day" />";
document.getElementById("month").value="<bean:message key="form.month" />";
document.getElementById("year").value="<bean:message key="form.year" />";
 }

所以我在我的jsp中调用函数initialise():

<body onLoad="initialise();">

但它没有任何效果,我不知道为什么。我非常感谢你的帮助。感谢

2 个答案:

答案 0 :(得分:1)

html:text应生成带有属性name的输入框。在您的JavaScript中,您尝试通过Id访问此文本框。为了能够尝试将styleId属性添加到您的html:text元素中。 所以它看起来像:

<html:text property="day" styleId="day" value="day" />

月份和年份也一样。

答案 1 :(得分:0)

我终于想通了我必须在我的initialise()函数中使用简单的引号,并结合已经提到的styleId属性。所以,在我的jsp文件中我会:

<script type="text/javascript>
  function initialise(){
document.getElementById("day").value='<bean:message key="form.day" />';
document.getElementById("month").value='<bean:message key="form.month" />';
document.getElementById("year").value='<bean:message key="form.year" />';
}
</script>


<tr>
<td><bean:message key="form.birthdate" /><span>:</span></td>
 <td><html:text property="day" value="day" styleId="day" /></td>
 <td><html:text property="month" value="month" styleId="month" /></td>
<td><html:text property="year" value="year" styleId="year" /></td>
</tr>