Struts2 key键属性示例 - Struts2教程

在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属性可以提高你的开发速度,使代码更有效,这是值得学习的。