跳到主要内容
版本:7.0.3

RSS和Atom

Hunyuan 7b 中英对照 RSS and Atom

注意

从 Spring Framework 7.0 开始,org.springframework.web.servlet.view.feed 包中的视图类已被弃用。相反,各库可以适配现有的代码,通过自己的 *View 类型来提供支持。作为一种替代方案,应用程序可以在 Web 处理程序中直接进行渲染。

AbstractAtomFeedViewAbstractRssFeedView都继承自AbstractFeedView基类,分别用于提供Atom和RSS Feed的视图。它们基于ROME项目,位于org.springframework.web.servlet.view.feed包中。

AbstractAtomFeedView 要求你实现 buildFeedEntries() 方法,并可以选择性地覆盖 buildFeedMetadata() 方法(默认实现是空的)。以下示例展示了如何进行操作:

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
}
}

实施AbstractRssFeedView时也有类似的要求,如下例所示:

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
}
}

buildFeedItems()buildFeedEntries() 方法会接收 HTTP 请求,以便在需要访问本地化设置(Locale)时使用。HTTP 响应仅用于设置 cookie 或其他 HTTP 头信息。这些方法执行完毕后,订阅源内容会自动写入响应对象(response object)中。

有关创建Atom视图的示例,请参阅Alef Arendsen的Spring团队博客文章