2012-08-07 2 views
1

비 정렬 화 과정에서 데이터를 manipuulate하는 방법는 JAXB는 : 나는 비 정렬 화 프로세스를 위해 JAXB를 사용하고

이 내 요청

<kiran acct = "1234567" /> 

package com; 
@XmlRootElement(name = "kiran") 
@XmlAccessorType(XmlAccessType.FIELD) 
public class CustAcct { 

    @XmlAttribute 
    private String acct; 

    public CustAcct() { 

     super(); 
    } 

    public String getAcct() { 
     System.out.println("The New Getter Method of Account is called"); 
     return acct; 
    } 

    public void setAcct(String s) { 
     System.out.println("The New Setter Method of Account is called"); 
     acct = s; 
    } 

} 

이 방법 뉴저지 (평안한 프레임 워크)입니다

public class HelloService { 

    @POST 
    @Produces("application/text") 
    public String sayPlainTextHello(CustAcct custdata) { 

     System.out.println("The New Account is " + custdata.getAcct()); 
     return "Hi"; 
    } 

} 

여기 내 질문에, setter 메서드 setAcct이 경우 호출되지 않는 이유는 ??

나는

"계정의 새로운 세터 방법이라고합니다"선이 인쇄되지 않는 이유를 의미하고, getMethod 메소드 내부의 선이라에 geting된다 (계정의 새로운 게터 메소드가 호출됩니다) 기본적으로 요청 XML로 전송 된 특성에 데이터를 수동으로 보내려고합니다.

거기에 데이터를 설정하는 방식을 제어 할 수있는 콜백 메서드가 있습니까 ??

미리 감사드립니다.

답변

2

Setter Method setAcct가이 경우에 호출되지 않는 이유는 무엇입니까 ??

필드에 액세스 유형을 설정했기 때문에 : @XmlAccessorType(XmlAccessType.FIELD). 그것을 @XmlAccessorType(XmlAccessType.PROPERTY)

XmlAccessType javadoc으로 변경하십시오.

거기에 데이터를 설정하는 방식을 제어 할 수있는 콜백 메서드가 있습니까 ??

예. adapters을 사용할 때 마샬/언 마샬 프로세스를 완벽하게 제어 할 수 있습니다.

관련 문제