Spring MVC - 生成RSS Feed示例 Spring MVC - Hibernate Validator示例 Spring MVC - 生成 XML 实例 以下示例说明如何使用Spring Web MVC Framework生成RSS Feed。首先,让我们使用一个可用的Eclipse IDE,然后考虑以下步骤,使用Spring Web Framework开发基于动态表单的Web应用程序。 序号 描述 1 在Spring MVC - Hello World章节中解释,在com.codingdict包下创建一个名为TestWeb的项目。 2 在com.codingdict包下创建Java类RSSMessage,RSSFeedViewer和RSSController。 3 从同一个maven存储库页面下载罗马图书馆罗马及其依赖项rome-utils,jdom和slf4j。把它们放在你的CLASSPATH中。 4 在SRC文件夹下创建属性文件messages.properties。 5 最后一步是创建源文件和配置文件的内容并导出应用程序,如下所述。 RSSMessage.java package com.codingdict; import java.util.Date; public class RSSMessage { String title; String url; String summary; Date createdDate; public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getSummary() { return summary; } public void setSummary(String summary) { this.summary = summary; } public Date getCreatedDate() { return createdDate; } public void setCreatedDate(Date createdDate) { this.createdDate = createdDate; } } RSSFeedViewer.java package com.codingdict; import java.util.ArrayList; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.view.feed.AbstractRssFeedView; import com.rometools.rome.feed.rss.Channel; import com.rometools.rome.feed.rss.Content; import com.rometools.rome.feed.rss.Item; public class RSSFeedViewer extends AbstractRssFeedView { @Override protected void buildFeedMetadata(Map<String, Object> model, Channel feed, HttpServletRequest request) { feed.setTitle("codingdict Dot Com"); feed.setDescription("Java Tutorials and Examples"); feed.setLink("http://www.codingdict.com"); super.buildFeedMetadata(model, feed, request); } @Override protected List<Item> buildFeedItems(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) throws Exception { List<RSSMessage> listContent = (List<RSSMessage>) model.get("feedContent"); List<Item> items = new ArrayList<Item>(listContent.size()); for(RSSMessage tempContent : listContent ){ Item item = new Item(); Content content = new Content(); content.setValue(tempContent.getSummary()); item.setContent(content); item.setTitle(tempContent.getTitle()); item.setLink(tempContent.getUrl()); item.setPubDate(tempContent.getCreatedDate()); items.add(item); } return items; } } RSSController.java package com.codingdict; import java.util.ArrayList; import java.util.Date; import java.util.List; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; @Controller public class RSSController { @RequestMapping(value="/rssfeed", method = RequestMethod.GET) public ModelAndView getFeedInRss() { List<RSSMessage> items = new ArrayList<RSSMessage>(); RSSMessage content = new RSSMessage(); content.setTitle("Spring Tutorial"); content.setUrl("http://www.codingdict/spring"); content.setSummary("Spring tutorial summary..."); content.setCreatedDate(new Date()); items.add(content); RSSMessage content2 = new RSSMessage(); content2.setTitle("Spring MVC"); content2.setUrl("http://www.codingdict/springmvc"); content2.setSummary("Spring MVC tutorial summary..."); content2.setCreatedDate(new Date()); items.add(content2); ModelAndView mav = new ModelAndView(); mav.setViewName("rssViewer"); mav.addObject("feedContent", items); return mav; } } TestWeb-servlet.xml <beans xmlns = "http://www.springframework.org/schema/beans" xmlns:context = "http://www.springframework.org/schema/context" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = " http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <context:component-scan base-package = "com.codingdict" /> <bean class = "org.springframework.web.servlet.view.BeanNameViewResolver" /> <bean id = "rssViewer" class = "com.codingdict.RSSFeedViewer" /> </beans> 在这里,我们创建了一个RSS提要POJO RSSMessage和一个RSS消息查看器,它扩展了 AbstractRssFeedView 并覆盖了它的方法。在RSSController中,我们生成了一个示例RSS Feed。 完成创建源文件和配置文件后,导出应用程序。右键单击您的应用程序,使用 Export→WAR File 选项并将 TestWeb.war 文件保存在Tomcat的webapps文件夹中。 现在,启动Tomcat服务器并确保您可以使用标准浏览器从webapps文件夹访问其他网页。尝试一个URL - http:// localhost:8080 / TestWeb / rssfeed ,我们将看到以下屏幕。 Spring MVC - Hibernate Validator示例 Spring MVC - 生成 XML 实例