是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();">
但它没有任何效果,我不知道为什么。我非常感谢你的帮助。感谢
答案 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>