Java JSP Spring MVC重用控制器逻辑

Java JSP Spring MVC重用控制器逻辑,java,jsp,spring-mvc,Java,Jsp,Spring Mvc,普苏埃多: @RequestMapping(“/news/feed/featurednews/{feedname}”) 公共列表getFeed(字符串feedname,@RequestParam(“开始”,可选)整数startIndex){ 返回feedService.getFeaturedNewsByName(feedname); } @请求映射(“/news/{newsPageName}”) 公共字符串goToNewsPage(型号m,字符串newsPageName){ m、 addAttr

普苏埃多:

@RequestMapping(“/news/feed/featurednews/{feedname}”)
公共列表getFeed(字符串feedname,@RequestParam(“开始”,可选)整数startIndex){
返回feedService.getFeaturedNewsByName(feedname);
}
@请求映射(“/news/{newsPageName}”)
公共字符串goToNewsPage(型号m,字符串newsPageName){
m、 addAttribute(“故事”,feedService.getFeaturedNewsByName(newsPageName));
返回getGenericNewsViewName();
}

正如您所看到的,我正在重用获取提要的服务,这是我在这里能做的最好的事情,还是我可以重用getFeed()方法?

写起来很好

@RequestMapping("/news/feed/featurednews/{feedname}")
public List<NewsModel> getFeed(String feedname, @RequestParam("start", optional) Integer startIndex) {
   return feedService.getFeaturedNewsByName(feedname);
}

@RequestMapping("/news/{newsPageName}")
public String goToNewsPage(Model m, String newsPageName) {
   m.addAttribute("stories", feedService.getFeaturedNewsByName(newsPageName));
   return getGenericNewsViewName();
}
@RequestMapping(“/news/feed/featurednews/{feedname}”)
公共列表getFeed(字符串feedname,@RequestParam(“开始”,可选)整数startIndex){
返回feedService.getFeaturedNewsByName(feedname);
}
@请求映射(“/news/{newsPageName}”)
公共字符串goToNewsPage(型号m,字符串newsPageName){
m、 addAttribute(“故事”,this.getFeed(newsPageName,0));
返回getGenericNewsViewName();
}

控制器本身就是一个普通的Java类,您只需告诉Spring请求调度器使用注释将请求映射到何处(这不会影响任何正常的方法调用)。

太好了,我不知道为什么我认为这样做不合理,我想我在想,可能有一些特殊的请求处理会把事情搞砸,冰雹春天3号!
@RequestMapping("/news/feed/featurednews/{feedname}")
public List<NewsModel> getFeed(String feedname, @RequestParam("start", optional) Integer startIndex) {
   return feedService.getFeaturedNewsByName(feedname);
}

@RequestMapping("/news/{newsPageName}")
public String goToNewsPage(Model m, String newsPageName) {
   m.addAttribute("stories", this.getFeed(newsPageName, 0));
   return getGenericNewsViewName();
}