2014-04-03 3 views
0

문서 데이터 소스에 바인딩 된 XPage에 계산 된 텍스트가 있고 SSJS를 사용하여 Notes DateTime 필드의 날짜 구성 요소를 표시하려고했습니다.XPages : 브라우저의 로캘을 사용하여 DateTime 값 표시

항상 doc.getItemValueDateTimeArray 메서드를 사용했지만 서버의 로캘에 연결되어있는 것 같습니다 (브라우저의 언어를 영국에서 미국으로 변경하면 날짜 형식은 여전히 ​​dd/mm/yyyy입니다).

날짜를 브라우저의 언어 설정을 따르는 형식으로 출력하려면 어떻게합니까? (doc.getItemValueDateTimeArray을 사용하지 않고 직접 데이터 소스 값을 표시) 변환기를 추가

답변

0

보십시오

<xp:text escape="true" id="computedField1" value="#{document1.dateField}"> 
    <xp:this.converter> 
     <xp:convertDateTime type="date"></xp:convertDateTime> 
    </xp:this.converter> 
</xp:text> 
1

getItemValueDateTimeArray() 방법 NotesDateTime 값 목록 (java.util.Vector 정확할)를 반환한다. XPages 런타임은 java.util.Date 객체를 전달하면 브라우저의 언어 설정 만 사용합니다.

사용할 수있는 몇 가지 방법이 있습니다. 당신이 java.util.Date이 있으면

<xp:text 
    escape="true" 
    id="computedField1" 
    value="#{javascript:var doc = document1.getDocument(); 
    var dt:NotesDateTime = doc.getItemValueDateTimeArray('$revisions').get(0); 
    return dt.toJavaDate();}"> 
</xp:text> 

:

바인딩 문서의 필드에 직접 계산 필드 (권장되는 방법은) :

<xp:text 
    escape="true" 
    id="computedField1" 
    value="#{document1.$revisions}"> 
</xp:text> 

java.util.Date를 반환 할 NotesDateTime 클래스의 toJavaDate() 방법을 사용 개체를 사용하여 필드에 변환기를 추가하여 날짜의 서식을 지정할 수도 있지만 위의 샘플은 이미 브라우저의 로캘을 수신합니다.