Struts2 key鍵屬性示例
在Struts2,在UI組件的“key”屬性來處理本地化的常用方法,也是編碼UI標簽的一個非常有效的方式。見下麵兩種情況:
1. Properties屬性文件
屬性文件包含一條消息。
global.properties
global.username = Username
2. 示例1
如果分配一個“key”屬性到一個文本框。鍵(key)屬性會從資源包中獲取信息,並使其在默認XHTML text.tfl模板基礎上渲染。
<s:form action="validateUser"> <s:textfield key="global.username" /> </s:form>
現在它將會使用“global.username {left-side}”和 “Username {right-side}”,並匹配相應的XHTML text.tfl模板。
<td class="tdLabel"> <label for="validateUser_{left-side}" class="label">{right-side}:</label> </td> <td> <input type="text" name="{left-side}" value="" id="validateUser_{left-side}"/> </td>
最後的 HTML
<td class="tdLabel"> <label for="validateUser_global_username" class="label">Username:</label> </td> <td> <input type="text" name="global.username" value="" id="validateUser_global_username"/> </td>
鍵屬性將使用 {left-side}作為文本框名稱和ID; {right-side} 作為標簽值。
3. 示例2
在某些情況下,可能需要顯式聲明的一個不同的名稱的文本框。
<s:form action="validateUser"> <s:textfield key="global.username" name="username"/> </s:form>
現在key屬性將使用“Username {right-side}”來隻匹配的標簽值, 文本框的名稱和ID將明確覆蓋。
最後的 HTML
<td class="tdLabel"> <label for="validateUser_username" class="label">Username:</label> </td> <td> <input type="text" name="username" value="" id="validateUser_username"/> </td>
key屬性可以提高你的開發速度,使代碼更有效,這是值得學習的。