如果您使用的是Spring MVC,那么我建议您使用Portlet.在Spring中,portlet只是轻量级控制器,因为它们只负责整个页面的片段,并且非常容易编写.如果您正在使用Spring 2.5,那么您可以享受新注释支持的所有好处,并且它们非常适合整个Spring应用程序,具有依赖注入和使用Spring的其他好处.
portlet控制器与servlet控制器几乎相同,这是一个简单的例子:
@RequestMapping("VIEW")
@Controller
public class NewsPortlet {
private NewsService newsService;
@Autowired
public NewsPortlet(NewsService newsService) {
this.newsService = newsService;
}
@RequestMapping(method = RequestMethod.GET)
public String view(Model model) {
model.addAttribute(newsService.getLatests(10));
return "news";
}
}
这里,NewsService将自动注入控制器. view方法将一个List对象添加到模型中,该对象将在JSP中以${newsList}的形式提供. Spring将根据方法的返回值查找名为news.jsp的视图. RequestMapping告诉Spring这个控制器是用于portlet的VIEW模式.
XML配置只需指定视图和控制器所在的位置:
如果您只想在现有应用程序中嵌入portlet,则可以捆绑portlet容器,例如eXo,Sun或Apache.如果要将应用程序构建为一组portlet,则可能需要考虑完整的portlal解决方案,如Liferay Portal.