확장자에 따라 .json이면 json Type 리턴 .xml이면 xml Type리턴 하고 싶습니다.
- 작성자 :
- 정*창
- 작성일 :
- 2015-02-26 00:13:57
- 조회수 :
- 763
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
바인딩될 별도의 객체를 지정 방법으론 안되더군요.
다른방법은 없는지요?
XML로 바인딩될 객체를 모델에 직접넣는 방법은 좀 아닌것 같아서요.
확장자에 따라 뱉어줘야 해서요.
=================================================
XML로 바인딩될 객체를 모델에 직접 넣으시거나, 모델에 넣으신 List 객체에 대하여 바인딩될 별도의 객체를 지정하셔야 할 것 같습니다.
현재 모델에 3개의 객체(List<ParentVO) 1개, String 2개)를 넣으셨는데,
이 3개의 객체를 포함하는 하나의 객체를 정의하시고 그 객체에 @XmlElement를 처리하시는 방법으로 변경하신 후에, 모델에는 해당 객체 하나를 넣으시면 되실 것 같습니다.
eg)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "root")
public class XmlData {
@XmlElement(name = "items")
private List<xmlchilddata> items;
public List<xmlchilddata> getItems() {
return items;
}
public void setItems(List<xmlchilddata> items) {
this.items = items;
}
}
...
XmlAccessorType(XmlAccessType.FIELD)
public class XmlChildData {
@XmlElement(name = "email")
private String email;
@XmlElement(name = "name")
private String name;
...
다른방법은 없는지요?
XML로 바인딩될 객체를 모델에 직접넣는 방법은 좀 아닌것 같아서요.
확장자에 따라 뱉어줘야 해서요.
=================================================
XML로 바인딩될 객체를 모델에 직접 넣으시거나, 모델에 넣으신 List 객체에 대하여 바인딩될 별도의 객체를 지정하셔야 할 것 같습니다.
현재 모델에 3개의 객체(List<ParentVO) 1개, String 2개)를 넣으셨는데,
이 3개의 객체를 포함하는 하나의 객체를 정의하시고 그 객체에 @XmlElement를 처리하시는 방법으로 변경하신 후에, 모델에는 해당 객체 하나를 넣으시면 되실 것 같습니다.
eg)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "root")
public class XmlData {
@XmlElement(name = "items")
private List<xmlchilddata> items;
public List<xmlchilddata> getItems() {
return items;
}
public void setItems(List<xmlchilddata> items) {
this.items = items;
}
}
...
XmlAccessorType(XmlAccessType.FIELD)
public class XmlChildData {
@XmlElement(name = "email")
private String email;
@XmlElement(name = "name")
private String name;
...
A
안녕하세요. 정영창님.
바로 이전 질문에 답변 드린 내용 처럼 XML에 바인딩할 객체를 직접 넣으시는 것이 맞습니다.
해당 내용은 MarshallingView 처리 부분을 직접 확인해 보시면 되실 것 같습니다.
확장자에 따라 처리되는 것은 현재 설정으로 처리되시는 것이 맞으신 것 같고, 지정하신 Marshaller에 대한 문서를 추가로 참조해 보시면 되실 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.
바로 이전 질문에 답변 드린 내용 처럼 XML에 바인딩할 객체를 직접 넣으시는 것이 맞습니다.
해당 내용은 MarshallingView 처리 부분을 직접 확인해 보시면 되실 것 같습니다.
확장자에 따라 처리되는 것은 현재 설정으로 처리되시는 것이 맞으신 것 같고, 지정하신 Marshaller에 대한 문서를 추가로 참조해 보시면 되실 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.