我是liferay的新手。我正在尝试将在websphere 6.1(JSR 286)中开发的portlet迁移到liferay 6.1。暂时我开发了一个门户网站(PA_test.war),显示了一些我在liferay上部署的文字。
处理后,显示以下消息 - “您的请求已成功完成”。 “该插件已成功上传,现在正在安装。”
当我尝试在安装的插件中寻找门户网站时,我找不到门户网站。
我看到日志里面写着:
信息:取消部署上下文[/ PA_test]
2012年7月30日上午7:54:05 org.apache.catalina.startup.HostConfig deployDirectory
信息:部署Web应用程序目录E:\ life \ liferay-portal-6.1.0-ce-ga1 \ tomcat-7.0.23 \ webapps \ PA_test
我想知道:
1)portlet如何遵守JSR规范?
2)没有这种依赖性(技术方面),无法迁移的是什么?
或者liferay是否提供替代方案或桥梁这样做
或者liferay中的websphere 6.1(JSR 286)的等价物是什么?
请帮忙!!
portlet.xml中
<?xml version="1.0"?>
<!--AUTOMATICALLY GENERATED DEPLOYMENT DESCRIPTOR - DO NOT EDIT-->
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" id="com.bowstreet.portlet.WebAppRunner2_test">
<portlet>
<description xml:lang="en">Portlet to test migration from wpf to xmlpf</description>
<portlet-name>Test Portlet</portlet-name>
<display-name xml:lang="en">Test Portlet</display-name>
<portlet-class>com.bowstreet.portlet.adapter.WebAppRunnerPortlet286</portlet-class>
<init-param>
<name>model</name>
<value>test</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>view</portlet-mode>
</supports>
<supported-locale>en</supported-locale>
<resource-bundle>nls.test</resource-bundle>
<portlet-info>
<title>Test Portlet</title>
<short-title>Test Portlet</short-title>
<keywords>Test Portlet</keywords>
</portlet-info>
<portlet-preferences></portlet-preferences>
</portlet>
<custom-portlet-mode>
<portlet-mode>config</portlet-mode>
</custom-portlet-mode>
<custom-portlet-mode>
<portlet-mode>edit_defaults</portlet-mode>
</custom-portlet-mode>
<user-attribute>
<description xml:lang="en">User Given Name</description>
<name>user.name.given</name>
</user-attribute>
<user-attribute>
<description xml:lang="en">User Last Name</description>
<name>user.name.family</name>
</user-attribute>
</portlet-app>
答案 0 :(得分:0)
您正在使用的portlet类是:
com.bowstreet.portlet.adapter.WebAppRunnerPortlet286
我认为这是问题所在。这是Websphere特定的portlet类。你能把它改成像
这样的东西吗?com.test.portlet.TestPortlet
然后编写扩展GenericPortlet的测试类
public class TestPortlet extends GenericPortlet {
.........
......
.....
super.doView();
}
或者您可以通过Liferay的MVCPortlet类扩展它。
如果您认为将使用框架来开发诸如Struts,Spring,JSF等的portlet,则可以通过扩展这些框架提供的相应portlet类来创建portlet类。
希望这能解决您的问题。
答案 1 :(得分:0)
据我所知,尽管生成JSR(168或286)portlet WAR,但Web Experience Factory(以前称为WebSphere Portlet Factory)portlet目前仅在IBM WebSphere Portal上获得许可并受其支持(除了JSR API之外,它们还是也可以利用IBM Portal API。
我希望信息有帮助, ..迈克布拉蒂 本网站上的帖子是我自己的,不一定代表IBM的职位,策略或意见。