当前位置: 首页 > news >正文

宁波专业做网站公司国内做视频课程的网站有哪些

宁波专业做网站公司,国内做视频课程的网站有哪些,无锡建设教育协会网站,wordpress编辑文章更新失败如何仅使用两个类就将提要#xff08;Atom#xff09;添加到Web应用程序#xff1f; Spring MVC呢#xff1f; 这是我的假设#xff1a; 您正在使用Spring框架 您有一些要发布在供稿中的实体#xff0c;例如“新闻” 您的“新闻”实体具有creationDate#xff0c;tit… 如何仅使用两个类就将提要Atom添加到Web应用程序 Spring MVC呢 这是我的假设 您正在使用Spring框架 您有一些要发布在供稿中的实体例如“新闻” 您的“新闻”实体具有creationDatetitle和shortDescription 您有一些存储库/仓库例如“ NewsRepository”它将从数据库中返回新闻 你想写得尽可能少 您不想手动格式化Atomxml 实际上您实际上不需要在应用程序中使用Spring MVC。 如果这样做请跳至步骤3。 步骤1将Spring MVC依赖项添加到您的应用程序 使用Maven将是 dependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion3.1.0.RELEASE/version /dependency 步骤2添加Spring MVC DispatcherServlet 使用web.xml将是 servletservlet-namedispatcher/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-classinit-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath:spring-mvc.xml/param-value/init-paramload-on-startup1/load-on-startup /servlet servlet-mappingservlet-namedispatcher/servlet-nameurl-pattern/feed/url-pattern /servlet-mapping 注意我将url-pattern设置为“ / feed”这意味着我不希望Spring MVC处理我的应用程序中的任何其他URL我在其余的应用程序中使用了不同的Web框架。 我还给它提供了一个全新的contextConfigLocation其中仅保留了mvc配置。 请记住将DispatcherServlet添加到已经具有Spring的应用程序时例如从ContextLoaderListener继承您的上下文是从全局实例继承的因此您不应创建在该全局实例中再次存在的bean也不应该包含定义它们的xml。 注意两次Spring上下文并查阅spring或servlet文档以了解发生了什么。 步骤3.添加ROME –处理Atom格式的库 与Maven是 dependencygroupIdnet.java.dev.rome/groupIdartifactIdrome/artifactIdversion1.0.0/version /dependency 步骤4.编写非常简单的控制器 Controller public class FeedController {static final String LAST_UPDATE_VIEW_KEY lastUpdate;static final String NEWS_VIEW_KEY news;private NewsRepository newsRepository;private String viewName;protected FeedController() {} //required by cglibpublic FeedController(NewsRepository newsRepository, String viewName) {notNull(newsRepository); hasText(viewName);this.newsRepository newsRepository;this.viewName viewName;}RequestMapping(value /feed, method RequestMethod.GET) Transactionalpublic ModelAndView feed() {ModelAndView modelAndView new ModelAndView();modelAndView.setViewName(viewName);ListNews news newsRepository.fetchPublished();modelAndView.addObject(NEWS_VIEW_KEY, news);modelAndView.addObject(LAST_UPDATE_VIEW_KEY, getCreationDateOfTheLast(news));return modelAndView;}private Date getCreationDateOfTheLast(ListNews news) {if(news.size() 0) {return news.get(0).getCreationDate();}return new Date(0);} } 如果您想复制并粘贴谁不想要这里有一个测试 RunWith(MockitoJUnitRunner.class) public class FeedControllerShould {Mock private NewsRepository newsRepository;private Date FORMER_ENTRY_CREATION_DATE new Date(1);private Date LATTER_ENTRY_CREATION_DATE new Date(2);private ArrayListNews newsList;private FeedController feedController;Beforepublic void prepareNewsList() {News news1 new News().title(title1).creationDate(FORMER_ENTRY_CREATION_DATE);News news2 new News().title(title2).creationDate(LATTER_ENTRY_CREATION_DATE);newsList newArrayList(news2, news1);}Beforepublic void prepareFeedController() {feedController new FeedController(newsRepository, viewName);}Testpublic void returnViewWithNews() {//givengiven(newsRepository.fetchPublished()).willReturn(newsList);//whenModelAndView modelAndView feedController.feed();//thenassertThat(modelAndView.getModel()).includes(entry(FeedController.NEWS_VIEW_KEY, newsList));}Testpublic void returnViewWithLastUpdateTime() {//givengiven(newsRepository.fetchPublished()).willReturn(newsList);//whenModelAndView modelAndView feedController.feed();//thenassertThat(modelAndView.getModel()).includes(entry(FeedController.LAST_UPDATE_VIEW_KEY, LATTER_ENTRY_CREATION_DATE));}Testpublic void returnTheBeginningOfTimeAsLastUpdateInViewWhenListIsEmpty() {//givengiven(newsRepository.fetchPublished()).willReturn(new ArrayListNews());//whenModelAndView modelAndView feedController.feed();//thenassertThat(modelAndView.getModel()).includes(entry(FeedController.LAST_UPDATE_VIEW_KEY, new Date(0)));} } 注意在这里我正在使用fest-assert和mockito。 依赖项是 dependencygroupIdorg.easytesting/groupIdartifactIdfest-assert/artifactIdversion1.4/versionscopetest/scope /dependency dependencygroupIdorg.mockito/groupIdartifactIdmockito-all/artifactIdversion1.8.5/versionscopetest/scope /dependency 步骤5.编写非常简单的视图 这是所有魔术格式化发生的地方。 一定要看一看Entry类的所有方法因为您可能想使用/填充很多东西。 import org.springframework.web.servlet.view.feed.AbstractAtomFeedView; [...]public class AtomFeedView extends AbstractAtomFeedView {private String feedId tag:yourFantastiSiteName;private String title yourFantastiSiteName: news;private String newsAbsoluteUrl http://yourfanstasticsiteUrl.com/news/; Overrideprotected void buildFeedMetadata(MapString, Object model, Feed feed, HttpServletRequest request) {feed.setId(feedId);feed.setTitle(title);setUpdatedIfNeeded(model, feed);}private void setUpdatedIfNeeded(MapString, Object model, Feed feed) {SuppressWarnings(unchecked)Date lastUpdate (Date)model.get(FeedController.LAST_UPDATE_VIEW_KEY);if (feed.getUpdated() null || lastUpdate ! null || lastUpdate.compareTo(feed.getUpdated()) 0) {feed.setUpdated(lastUpdate);}}Overrideprotected ListEntry buildFeedEntries(MapString, Object model, HttpServletRequest request, HttpServletResponse response) throws Exception {SuppressWarnings(unchecked)ListNews newsList (ListNews)model.get(FeedController.NEWS_VIEW_KEY);ListEntry entries new ArrayListEntry();for (News news : newsList) {addEntry(entries, news);}return entries;}private void addEntry(ListEntry entries, News news) {Entry entry new Entry();entry.setId(feedId , news.getId());entry.setTitle(news.getTitle());entry.setUpdated(news.getCreationDate());entry setSummary(news, entry);entry setLink(news, entry);entries.add(entry);}private Entry setSummary(News news, Entry entry) {Content summary new Content();summary.setValue(news.getShortDescription());entry.setSummary(summary);return entry;}private Entry setLink(News news, Entry entry) {Link link new Link();link.setType(text/html);link.setHref(newsAbsoluteUrl news.getId()); //because I have a different controller to show news at http://yourfanstasticsiteUrl.com/news/IDentry.setAlternateLinks(newArrayList(link));return entry;}} 步骤6.将类添加到Spring上下文 我正在使用xml方法。 因为我老了我喜欢xml。 不很认真我使用xml是因为我可能想用不同的视图RSS 1.0RSS 2.0等声明FeedController几次。 这就是前面提到的spring-mvc.xml ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdbean classorg.springframework.web.servlet.view.ContentNegotiatingViewResolverproperty namemediaTypesmapentry keyatom valueapplication/atomxml/entry keyhtml valuetext/html//map/propertyproperty nameviewResolverslistbean classorg.springframework.web.servlet.view.BeanNameViewResolver//list/property/beanbean classeu.margiel.pages.confitura.feed.FeedControllerconstructor-arg index0 refnewsRepository/constructor-arg index1 valueatomFeedView//beanbean idatomFeedView classeu.margiel.pages.confitura.feed.AtomFeedView/ /beans 您完成了。 之前曾有人要求我将所有工作代码放入某个公共存储库中所以这又是另一回事了。 我已经描述了我已经发布的内容您可以从bitbucket中获取提交。 参考 Solid Craft博客上来自我们JCG合作伙伴 Jakub Nabrdalik的Atom Feeds与Spring MVC 。 翻译自: https://www.javacodegeeks.com/2012/10/spring-mvc-for-atom-feeds.html
http://www.zqtcl.cn/news/41091/

相关文章:

  • 重庆网站建设夹夹虫负责网站后台管理模板免费下载
  • 东鹏拼奖网站怎么做新闻博客软文自助推广
  • 怎么检查外包做的网站寻找网站建设
  • 炽乐清网站建设软件外包收费标准
  • 联通专线做网站wordpress+模版+推荐
  • php建设网站工具蜗牛星际做网站服务器
  • 乌兰察布市建设银行网站淄博网站建设价格
  • 电子商务网站建设与设计网站制作公司排名前十
  • 做一个网站怎么赚钱免费php开源建站系统
  • 网站设计开发建设公司免费软文推广平台
  • vs2015 asp网站开发建设银行+贷款+查询+网站
  • 宿迁建设公司网站网站文字专题页面怎么做的
  • 越秀区建设局网站东莞原创设计院官网
  • 电脑做apk的网站h5北京pk10网站开发
  • 毕业设计某网站开发的开题报告范文中文企业网站模板html
  • 厦门网站建设2福建住房和城乡建设厅网站一体化平台
  • 建站公司最新报价服务器搭建网站能ping t
  • 做网站用什么系统社区网站建设费用
  • 哈尔滨建站系统android网站开发实例教程
  • 博客做单页网站网站备案审核通过时间
  • 国外黄冈网站推广软件免费吗广东省自然资源厅胡建斌
  • 某qq非主流个性网源码qq空间网站源码dede内核+采集规则pinterest设计网站
  • 网站建设企业建站要多久安徽六安特产有哪些
  • 东莞seo优化方案seo优化方式包括
  • 哈尔滨网站建设乙薇网站 分站
  • 江苏省和住房城乡建设厅网站商城网站如何做
  • 投资公司网站建设需求网站直接访问
  • 开一个网站要花多少钱杭州网站外包
  • 城乡建设管理局的网站电脑商城网站源码
  • 怒江网站制作优化快速排序