Liferay7开发文档_3.2.3生成PORTLET URL

生成PORTLET URL

回想一下,用户可以在一个页面上放置多个portlet。作为一名开发人员,您不知道会与哪些其他portlet共享一个页面。这意味着不能像习惯的那样为应用程序中的各种功能定义URL。

例如,考虑一个用户与博客应用程序放在同一页面上的日历应用程序。要实现删除相应应用程序中的日历事件和博客条目的功能,应用程序开发人员将该del参数追加到URL中,并为其提供主键值,以便应用程序可以查找和删除日历事件或博客条目。由于这两个应用程序读取此参数,它们的删除功能会发生冲突

Liferay Portal的解决方案是由系统生成的URL。通过为每项功能生成一个唯一的URL参数,Liferay Portal允许具有相同或相似功能的多个应用程序和谐共存。不幸的是,为了保证portlet工作,必须手动添加对它的支持。幸运的是,这样做非常简单。

view.jsp,按照以下步骤在您的portlet中启用系统生成的URL:

  1. 添加这些标签<%@ include file="/init.jsp" %><aui:button-row>标签上方:
    <portlet:renderURL var="addEntryURL">
        <portlet:param name="mvcPath" value="/edit_entry.jsp"></portlet:param>
    </portlet:renderURL>
    
  2. <aui:button>添加如下属性,在标记value="Add Entry"之前:
    onClick="<%= addEntryURL.toString() %>"
    

    view.jsp页面现在应该如下所示:

    <%@ include file="/init.jsp" %>
    
    <portlet:renderURL var="addEntryURL">
        <portlet:param name="mvcPath" value="/edit_entry.jsp"></portlet:param>
    </portlet:renderURL>
    
    <aui:button-row>
        <aui:button onClick="<%= addEntryURL.toString() %>" value="Add Entry"></aui:button>
    </aui:button-row>
    

The <portlet:renderURL> tag’s var attribute creates the addEntryURL variable to hold the system-generated URL. The <portlet:param> tag defines a URL parameter to append to the URL. In this example, a URL parameter named mvcPath with a value of /edit_entry is appended to the URL.

请注意,你的GuestbookPortlet类(位于你的guestbook-web模块的com.liferay.docs.guestbook.portlet包中)扩展了Liferay的MVCPortlet类。在Liferay MVC portlet中mvcPathURL参数表示portlet中的页面。要导航到portlet中的另一个页面,请使用带有参数的门户网址mvcPath链接到特定页面。

在上面的例子中,你创建了一个renderURL指向你的应用程序的edit_entry.jsp页面。请注意,使用AlloyUI按钮来跟随生成的URL不是必需的。您可以使用任何包含链接的HTML构造。用户可以点击你的按钮访问你的应用程序edit_entry.jsp页面。目前会产生一个错误,因为edit_entry.jsp还不存在。下一步创造edit_entry.jsp

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值