2013-03-30 36 views
0

对于JavaEE而言,我还是一个新手,所以我仍然试图找到自己的脚。那么,为了国际化我的网页,我试图用bean消息标签初始化一个输入文本标签。使用bean消息标签(i18n)在jsp中初始化输入标签(html)

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

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

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

回答

1

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

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

而对于月和年这样做。

+0

我试过了,但仍然没有得到所需的结果 –

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>