2013-03-30 88 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>