我正在用Java (带有JSP视图的Spring MVC )建立小型网站,并试图找到最好的解决方案来制作和包含一些可重用的模块(比如“最新新闻”“即将到来的事件”……)。
所以问题是:Portlet、tiles还是其他技术?
发布于 2008-09-16 13:24:52
如果您使用的是Spring MVC,那么我建议您使用Portlet。在Spring中,portlets只是轻量级的控制器,因为它们只负责整个页面的一小部分,并且非常容易编写。如果您使用的是Spring2.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将自动注入到控制器中。视图方法将一个列表对象添加到模型中,该对象将在JSP中作为${newsList}可用。Spring将根据该方法的返回值查找名为news.jsp的视图。RequestMapping告诉Spring这个控制器适用于portlet的视图模式。
XML配置只需要指定视图和控制器的位置:
<!-- look for controllers and services here -->
<context:component-scan base-package="com.example.news"/>
<!-- look for views here -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/news/"/>
<property name="suffix" value=".jsp"/>
</bean>如果您只想将portlet嵌入到现有应用程序中,则可以捆绑portlet容器,如eXo、Sun或Apache。如果您希望将应用程序构建为一组portlets,则可能需要考虑成熟的portlal解决方案,如Liferay Portal。
发布于 2008-09-16 12:32:21
瓷砖可能是一件痛苦的事情。与之前相比有了巨大的改进(例如,什么都没有),但相当有限。
Wicket可能更符合您的需求,除非您已经选择了JSP.
发布于 2009-01-08 19:28:57
除非您的应用程序是真正的web portal,否则我不建议使用Portlet。
如果你只是想要“可重用的组件”使用JSP tagfiles,它们是非常简单但极其强大的,因为它们与常规的JSP相同。
我有过使用tiles的经验,其中涉及的复杂性并不值得我这么做。
https://stackoverflow.com/questions/71692
复制相似问题