此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Framework 6.2.10spring-doc.cadn.net.cn

RSS 和 Atom

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

AbstractAtomFeedView要求您实现buildFeedEntries()method 和 (可选)覆盖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
	}
}

buildFeedItems()buildFeedEntries()方法传入 HTTP 请求,以防 您需要访问区域设置。HTTP 响应仅针对 cookie 或其他 HTTP 标头。提要会自动写入响应 对象。spring-doc.cadn.net.cn

有关创建 Atom 视图的示例,请参阅 Alef Arendsen 的 Spring Team 博客条目spring-doc.cadn.net.cn