Loading...
Spring Framework Reference Documentation 7.0.2의 RSS and Atom의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
Spring Framework 7.0부터
org.springframework.web.servlet.view.feed<br>package의 view class들은 deprecated되었습니다. 대신, library들은 이 기존 코드를 활용하여 자체*Viewtype으로 support를 제공하도록 adapt할 수 있습니다.<br>대안으로, 애플리케이션들은 web handler에서 직접 rendering을 수행할 수 있습니다.
AbstractAtomFeedView와 AbstractRssFeedView는 모두 AbstractFeedView base class를 상속하며 각각 Atom과 RSS Feed view를 제공하는 데 사용됩니다. 이들은 ROME project를 기반으로 하며 package org.springframework.web.servlet.view.feed에 위치합니다.
AbstractAtomFeedView는 buildFeedEntries() method 구현을 요구하며 선택적으로 buildFeedMetadata() method를 override할 수 있습니다 (기본 구현은 비어 있습니다). 다음 예제는 이를 수행하는 방법을 보여 줍니다:
1public class SampleContentAtomView extends AbstractAtomFeedView { 2 3 @Override 4 protected void buildFeedMetadata(Map<String, Object> model, 5 Feed feed, HttpServletRequest request) { 6 // implementation omitted 7 } 8 9 @Override 10 protected List<Entry> buildFeedEntries(Map<String, Object> model, 11 HttpServletRequest request, HttpServletResponse response) throws Exception { 12 // implementation omitted 13 } 14}
1class SampleContentAtomView : AbstractAtomFeedView() { 2 3 override fun buildFeedMetadata(model: Map<String, Any>, 4 feed: Feed, request: HttpServletRequest) { 5 // implementation omitted 6 } 7 8 override fun buildFeedEntries(model: Map<String, Any>, 9 request: HttpServletRequest, response: HttpServletResponse): List<Entry> { 10 // implementation omitted 11 } 12}
AbstractRssFeedView를 구현하는 데에도 유사한 요구사항이 적용되며, 다음 예제는 이를 보여 줍니다:
1public class SampleContentRssView extends AbstractRssFeedView { 2 3 @Override 4 protected void buildFeedMetadata(Map<String, Object> model, 5 Channel feed, HttpServletRequest request) { 6 // implementation omitted 7 } 8 9 @Override 10 protected List<Item> buildFeedItems(Map<String, Object> model, 11 HttpServletRequest request, HttpServletResponse response) throws Exception { 12 // implementation omitted 13 } 14}
1class SampleContentRssView : AbstractRssFeedView() { 2 3 override fun buildFeedMetadata(model: Map<String, Any>, 4 feed: Channel, request: HttpServletRequest) { 5 // implementation omitted 6 } 7 8 override fun buildFeedItems(model: Map<String, Any>, 9 request: HttpServletRequest, response: HttpServletResponse): List<Item> { 10 // implementation omitted 11 } 12}
buildFeedItems()와 buildFeedEntries() method는 Locale에 접근해야 할 경우를 대비해 HTTP request를 전달합니다. HTTP response는 cookie나 기타 HTTP header를 설정하기 위한 용도로만 전달됩니다. feed는 method가 반환된 후 자동으로 response 객체에 기록됩니다.
Atom view를 생성하는 예시는 Alef Arendsen의 Spring Team Blog entry를 참고하십시오.
JSP and JSTL
PDF and Excel