2014-04-12 4 views
0

JSF에 관한 질문이 있습니다. 내가 JSF에서 자신의 변환기를 작성하려는 경우에는 방법이 될 것입니다 그것은 나를 위해 분명하지 않다 두 개의 추상 메소드JSF에서 자신의 변환기를 작성하는 방법

getAsObject(FacesContext context, UIComponent component, String value) 

public String getAsString(FacesContext context, UIComponent component, Object value) 

와 인터페이스 컨버터를 구현하는 데 필요한 IT 어떤 JSF 라이프 사이클 단계에서 자동으로 호출?

Response가 웹 서버에서 클라이언트로 전달되면 Request가 웹 서버에 도착하고 "getAsString"메서드가 호출되는 "getAsObject"메서드가 호출됩니다.

Greetz Marwief는

답변

1

내가 바로 질문이 있어요 바랍니다.

클라이언트가 요청을 전송합니다 (예 : 금액 = 15).

Object getAsObject(FacesContext context, UIComponent component, String value) { 
    return Integer.valueOf(value); 
} 

은 다음 그것은 (다른 정의 된 범위 체크 또는 아무것도) 값을 확인하고 적절한 빈 객체에 적용 할 수 있습니다 : 당신은 숫자로 문자열을 변환해야합니다.

public String getAsString(FacesContext context, UIComponent component, Object value) { 
    return value.toString(); 
} 
+0

그러나 value.toString()은 클라이언트에게 보낼 값을 나타내며 내 사용자에게 표시됩니다. – Marwief

+0

예. 모든 문자열을 반환 할 수 있습니다. –

2

예 getAsObject는 요청이 들어 오면 원하는 개체 유형에 입력 문자열을 변환하는 데 사용됩니다 : 코드는 어떻게 든이 값을 변경하면 당신은 클라이언트에 문자열로 객체를 표현하고자합니다. 그런 다음 응답이 렌더링되고 전송 될 때 getAsString이 객체를 표현 용 문자열로 변환하는 데 사용됩니다.

+0

고마워요! 내가 현재 질문에 조용히 비슷한 내 다른 질문에 interessted 있습니까? : http://stackoverflow.com/questions/23031746/how-the-jsf-converter-fconvertdatetime-works – Marwief

+0

만약 내가 내 자신의 변환기를 만든다면, 이 두 가지 방법은 모든 sceanrio에서 호출되거나 금지하는 방법이 있습니까? – Marwief

관련 문제