2013-06-06 8 views
1

태피스트리로 개발을 시작했는데 질문이 있습니다. 실제로 나는 태피스트리에있는 테이블과 테이블의 헤더에 관한 질문을 가지고 있습니다. 내가 아는 당신은 사용자 클래스의 그리드가있는 경우 :어떻게 태피스트리가 그리드 구성 요소의 헤더를 설정합니까?

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

<t:grid source="users" /> 

태피스트리과 유사한 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> 

을 그리고 내 질문은 태피스트리는 헤더의 값을 설정 않았다 어떻게?

나는 태피스트리가 "firstName"클래스에서 "First Name"값을 어떻게 설정 했습니까?

제 질문에 대한 답변을 드리겠습니다.

감사합니다.

답변

3

Tapestry는 리플렉션을 사용하여 속성 이름 (firstNamelastName)을 얻은 다음 TapestryInternalUtils.toUserPresentable(String id)을 호출하여 사람이 읽을 수있는 형식으로 변환합니다.

toUserPresentable()에서의 javadoc :

문자열을 대문자로하고, (대문자 또는 순서) 각 대문자 문자 앞에 공백을 삽입합니다. 따라서 "userId"는 "User Id"가됩니다. 또한 밑줄을 공백으로 변환하여 (다음 단어를 대문자로) "user_id"도 "User Id"가됩니다.

+0

대단히 감사합니다. – ibaneight

+0

TapestryInternalUtils.toUserPresentable (..)은 최후의 수단이라는 점에 유의하십시오. Tapestry는 먼저 사용자의 언어에 대한 지역화 된 속성 파일을 찾고 firstName-label, lastName-label 등의 속성을 찾습니다. http://tapestry.apache.org/localization.html –

+0

감사합니다. 내 응용 프로그램에서 발견 한 것. 귀하의 메시지에 따르면 올바른 방법은 "- 라벨"접미사와 속성 파일을 사용하는 것보다 나은 태피스 트리 변수에서 이름을 얻을하자? – ibaneight

0

내 응용 프로그램에는 실제로 FindUsers.tml 파일과 FindUsers.java 관련 클래스가 있으며 마지막으로 일부 속성이있는 FindUsers.properties 파일이 있습니다. 내 FindUsers.properties에서

내가이 firstName을 라벨 = 이름을 가지고와 한 lastName이라는 라벨 = 성

이러한 속성이 내 그리드 헤더에 선택됩니다.

"-label"은이 태피스 트리가이 속성을 헤더로 선택하게합니다.