创建liferay下的portlet

Liferay Portal企业版,构建在Portlet API(JSR 168之上)并且有为用户提供了丰富的Portlets。I.HelloWorld

a.这个Portlet定义在 /portal-web/docroot/WEB-INF/portlet.xml中:

<!--

<portlet>
      <portlet-name>47</portlet-name>
      <display-name>Hello World</display-name>
      <portlet-class>
         com.liferay.portlet.helloworld.HelloWorldPortlet
      </portlet-class>
      <expiration-cache>0</expiration-cache>
      <supports>
          <mime-type>text/html</mime-type>
      </supports>
      <portlet-info>
          <title>Hello World</title>
          <short-title>Hello World</short-title>
          <keywords>Hello World</keywords>
      </portlet-info>
      <security-role-ref>
          <role-name>Power User</role-name>
      </security-role-ref>
      <security-role-ref>
          <role-name>User</role-name>
      </security-role-ref>
</portlet>

-->

这个Portlet的唯一标识:47.

这个HelloWorldPortlet扩展自 Javax.portlet.GenericPortlet.源代码:source 它仅仅是打印出 Hello World字样。

标题定义在Portlet-info中。用户必须拥有Power User或者是User权限才能访问这个Portlet.指定何种roles可以在运行期通过Admin Portlet来指定。

b.可以为Porltet添加额外的定义: /portal-web/docroot/WEB-INF/liferay-portlet.xml

<portlet id="47" struts-path="hello_world" narrow="true" />

id值是上面定义过的Portlet的唯一标识。

Struts-path值告诉Struts 所有包含Http://localhost/c/hello_world/*的请求都属于这个Portlet自己的域。

narrow值,如果为真,意味着在窄行中现实这个Portlets。当然,可以通过Admin portlet来在运行期修改。

c.这个portlet显示的信息在/portal-web/docroot/WEB-INF/liferay-display.xml这容许用户通过个性化定制页面来添加它。

<!--

<category name="category.test">
      <portlet id="47" />
      <portlet id="48" />
</category>

-->

当用户转动个性化页面,点击一个分类来选择一个porltet,那么你可以在关键词为category.test的分类中找到这个portlet。这个关键词的值可以定义在/portal-ejb/classes/content/Language.properties.

category.test=Test

II.IFrame

a.它定义在/portal-web/docroot/WEB-INF/portlet.xml

<!--

<portlet>
      <portlet-name>48</portlet-name>
      <display-name>IFrame</display-name>
      <portlet-class>com.liferay.portlet.IFramePortlet</portlet-class>
      <expiration-cache>0</expiration-cache>
      <supports>
          <mime-type>text/html</mime-type>
          <portlet-mode>edit</portlet-mode>
      </supports>
      <resource-bundle>com.liferay.portlet.StrutsResourceBundle</resource-bundle>
      <portlet-preferences>
          <preference>
              <name>src</name>
              <value>http://www.gfa.org</value>
          </preference>
          <preference>
              <name>auth</name>
              <value>false</value>
          </preference>
          <preference>
              <name>auth-type</name>
              <value>basic</value>
          </preference>
          <preference>
              <name>form-method</name>
              <value>post</value>
          </preference>
          <preference>
              <name>user-name</name>
              <value></value>
          </preference>
          <preference>
              <name>password</name>
              <value></value>
          </preference>
          <preference>
              <name>hidden-variables</name>
              <value>var1=hello;var2=world</value>
          </preference>
      </portlet-preferences>
      <security-role-ref>
          <role-name>Power User</role-name>
      </security-role-ref>
      <security-role-ref>
          <role-name>User</role-name>
      </security-role-ref>
</portlet>

-->

IFramePortlet类继承自 javax.portlet.GenericPortlet。它们代码:source 它仅仅是打印一个IFRAME tag的代码来应用外部站点的内容。

scr 指定绑定到外部资源的地址。

auth:需要认证否

auth-type 可以选择basic或者是form,认证方式,是通过添加URL信息认证还是需要表单认证。

form-method 值可以设置为get或者是post。

user-name认证所需的用户名

password:密码

b.标题通过StrutsResourceBundle取得,配置在 /portal-ejb/classes/content/Language.properties.

javax.portlet.title.48=IFrame.

c.额外的配置在/portal-web/docroot/WEB-INF/liferay-portlet.xml中:

<portlet id="48" struts-path="iframe" />

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值