此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Framework 6.2.0! |
RSS 和 Atom
双AbstractAtomFeedView
和AbstractRssFeedView
继承自AbstractFeedView
基类,分别用于提供 Atom 和 RSS Feed 视图。他们
基于 ROME 项目,位于
包org.springframework.web.servlet.view.feed
.
AbstractAtomFeedView
要求您实现buildFeedEntries()
method 和
(可选)覆盖buildFeedMetadata()
方法(默认实现为
empty) 的 Null S以下示例显示了如何执行此作:
-
Java
-
Kotlin
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
,如下例所示:
-
Java
-
Kotlin
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 请求,以
您需要访问 Locale。HTTP 响应仅针对
Cookie 或其他 HTTP 标头。源会自动写入响应
object 返回。
有关创建 Atom 视图的示例,请参阅 Alef Arends 的 Spring Team 博客文章。