0

我是 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();">

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

4

2 回答 2

1

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

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

并为月份和年份做同样的事情。

于 2013-03-30T12:42:53.057 回答
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>
于 2013-04-02T23:35:24.110 回答