对于最新的稳定版本,请使用 Spring Framework 7.0.6!spring-doc.cadn.net.cn

RSS和Atom

Both AbstractAtomFeedViewAbstractRssFeedView 继承自 AbstractFeedView 基类,并分别用于提供 Atom 和 RSS Feed 视图。它们 基于 ROME 项目,并位于 包 org.springframework.web.servlet.view.feed 中。spring-doc.cadn.net.cn

AbstractAtomFeedView 要求您实现 buildFeedEntries() 方法,并且可选地重写 buildFeedMetadata() 方法(默认实现为空)。以下示例展示了如何实现:spring-doc.cadn.net.cn

public class SampleContentAtomView extends AbstractAtomFeedView {

	@Override
	protected void buildFeedMetadata(Map<String, Object> model,
			Feed feed, HttpServletRequest request) {
		// implementation omitted
	}

	@Override
	protected List<Entry> buildFeedEntries(Map<String, Object> model,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		// implementation omitted
	}
}
class SampleContentAtomView : AbstractAtomFeedView() {

	override fun buildFeedMetadata(model: Map<String, Any>,
			feed: Feed, request: HttpServletRequest) {
		// implementation omitted
	}

	override fun buildFeedEntries(model: Map<String, Any>,
			request: HttpServletRequest, response: HttpServletResponse): List<Entry> {
		// implementation omitted
	}
}

类似的实现要求也适用于AbstractRssFeedView,如下例所示:spring-doc.cadn.net.cn

public class SampleContentRssView extends AbstractRssFeedView {

	@Override
	protected void buildFeedMetadata(Map<String, Object> model,
			Channel feed, HttpServletRequest request) {
		// implementation omitted
	}

	@Override
	protected List<Item> buildFeedItems(Map<String, Object> model,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		// implementation omitted
	}
}
class SampleContentRssView : AbstractRssFeedView() {

	override fun buildFeedMetadata(model: Map<String, Any>,
								feed: Channel, request: HttpServletRequest) {
		// implementation omitted
	}

	override fun buildFeedItems(model: Map<String, Any>,
			request: HttpServletRequest, response: HttpServletResponse): List<Item> {
		// implementation omitted
	}
}

The buildFeedItems()buildFeedEntries() 方法传递了HTTP请求,以防你需要访问Locale。HTTP响应仅在设置cookie或其他HTTP头时传递。方法返回后,feed将自动写入响应对象。spring-doc.cadn.net.cn

有关创建Atom视图的示例,请参阅Alef Arendsen的Spring团队博客文章spring-doc.cadn.net.cn