Tapestry如何设置网格组件的标头?

时间:2013-06-06 15:00:43

标签: header grid tapestry tgrid

我开始使用挂毯进行开发,我有一个问题。实际上我对tapestry中的表格和表格的标题有疑问。我知道如果你有一个用户类网格:

public class User {
    public String firstName;
    public String lastName;
}

<t:grid source="users" />

Tapestry将生成类似于以下的HTML:

<table>
    <thead>
        <tr>
            <th class="firstName">First Name</th>
            <th class="lastName">Last Name</th>
        </tr>
    </thead>
    <tbody>
        ...
        <tr>
            <td class="firstName">Traci</td>
            <td class="lastName">Lords</td>
        </tr>
        ...
    </tbody>
</table>

我的问题是Tapestry如何设置标题的值?

我的意思是tapestry如何设置“firstName”类中的“First Name”值?

我希望我的问题很明确。

谢谢。

2 个答案:

答案 0 :(得分:3)

Tapestry使用反射来获取您的属性的名称(firstNamelastName),然后调用TapestryInternalUtils.toUserPresentable(String id)将其转换为更易于阅读的形式。

来自toUserPresentable() javadocs:

  

将字符串大写,并在每个大写字符(或大写字符序列)之前插入一个空格。因此,“userId”变为“用户ID”等。此外,将下划线转换为空格(并大写下一个单词),因此“user_id”也变为“用户ID”。

答案 1 :(得分:0)

在我的应用程序中,我实际上有一个FindUsers.tml文件以及FindUsers.java关联类,最后我有一个带有一些属性的FindUsers.properties文件。

在我的FindUsers.properties中,我得到了firstName-label = First Name和lastName-label =姓氏

并在我的网格标题中选择了这些属性。

我认为“-label”使得tapestry选择此属性作为标题。