您好我是portlet和门户网站的新手。我有一个简短的(非常简短的)看看jsr for portlets,安装了liferay使用它的默认portlet,并设置了自己的eclipse工作环境,希望开发我自己的小portlet模块。
我必须创建一个类似于igoogle的门户网站,以及Chrome中的标签系统
我不知道从哪里开始,我对Java相当熟悉,并且已经做了一些其他的J2EE应用程序,但是真的不知道所有东西如何在门户/ portlet架构中组合在一起(哪些文件在哪里等等)所以你们可以借出的任何帮助都将非常感激。
答案 0 :(得分:3)
首先需要确定哪些技术用于portlet。
portlet规范假定使用vanilla JSP / Servlet。但是,您可以使用相应的“粘合剂”来使用其他框架,如JSF,Struts,Spring等。示例portlet中有各种技术的示例。
对于JSF,这个粘合剂是JSR-301 Portlet Bridge for JSF,然后你可以使用其他JSF组件套件。
我目前正在为基于JSF和RichFaces的Liferay开发一个portlet,这似乎或多或少都有效。到目前为止没有重大故障。
我不知道Liferay portlet环境是否支持其他组件套件。另外,我认为JSF 2.0和Portlet规范2.0还不够成熟。所以我们决定坚持使用JSF 1.x和Portlet 1.0。
答案 1 :(得分:2)
如果您致力于Liferay,那么首先应该是Liferay SDK。他们最近发布了一组Eclipse插件(Liferay IDE),这些插件似乎可以自动化他们的工具包的大部分包装(仍然是基于ANT的 - 没有我所知道的好Maven资源 - 目前的工作已被提出,但仍然似乎broken/incomplete)
对于一些portlet示例,您可以查看:https://lportal.svn.sourceforge.net/svnroot/lportal/plugins/trunk
我会警告你,Liferay portlets!= JSR-168/286 - 它们有一些扩展,超出了规范中的约定,并且某些平台的处理默认为不同于你预期的值(例如,首选项是共享的默认情况下跨多个用户)。话虽如此,大多数/所有portlet容器也是如此。
答案 2 :(得分:0)
我猜你已经遇到过Liferay Portal Server作为开源免费门户服务器,开始尝试使用portlet。
在使用portlet时,最新版本的portlet规范是JSR 286(v2.0)。因此,使用Struts,Spring,JSF,基本portlet创建的所有portlet都将遵循此规范作为基本原则。新规范提供了新功能(公共呈现参数,portlet间通信事件)和新的portlet生命周期阶段(资源,事件)以及基于JSR 168的portlet提供的其他功能。
但是,相关框架应遵守以下规定:
Struts 支持JSR 168 portlet(v1.0),而不支持JSR 286。这是使用Struts portlet桥实现的。
JSF 为JSR 168和286提供支持,这也是使用JSF Portlet桥实现的(http://jcp.org/en/jsr/detail?id=301) )。
Spring portlet框架基于spring框架。它们非常容易使用。如果以防万一,你已经有了Spring框架的经验,那么这个将非常容易理解并开始使用。 Spring的最新版本是v3.1。这支持JSR 286并向后兼容。
大多数有效的功能基本上都被框架/网桥所涵盖,除了少数与Portal服务器配置相关的功能。 对于基于Portal Server工作的功能(例如Liferay,WebSphere Portal等),您需要访问服务器文档,以便查看需要在portlet.xml和其他配置文件中声明的内容。被服务器提及。
我还推荐Ashish Sarin撰写的“ Portlets In Action ”一书,从头开始解释。
一切顺利。