首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最大化portlet、自定义max.tpl

最大化portlet、自定义max.tpl
EN

Stack Overflow用户
提问于 2015-10-14 17:35:08
回答 1查看 157关注 0票数 0

我正在开发一个JSF portlet,它使用

代码语言:javascript
复制
javax.portlet.WindowState.MAXIMIZED

在发布表单之后。

方法:

代码语言:javascript
复制
private void setPortletMaximized(boolean maximized) {
    
    FacesContext facesContext = FacesContext.getCurrentInstance();
    javax.faces.context.ExternalContext externalContext = facesContext.getExternalContext();
    javax.portlet.PortletResponse portletResponse = (javax.portlet.PortletResponse)externalContext.getResponse();
    javax.portlet.ActionResponse actionResponse = (javax.portlet.ActionResponse)portletResponse;
    try {
        if(maximized){
            actionResponse.setWindowState(javax.portlet.WindowState.MAXIMIZED);
        }else {
            actionResponse.setWindowState(javax.portlet.WindowState.NORMAL);
        }
        
    } catch (WindowStateException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

问题是我只需要对这个portlet使用一个自定义的"max.tpl“。有没有办法从我的方法中传递一个自定义布局?有没有可能呢?

EN

回答 1

Stack Overflow用户

发布于 2015-10-20 20:00:05

因此,您只想显示portlet的某些实例的面包屑。对吗?

在JSP或facelets中,您可能会使用类似以下代码片段的内容:

代码语言:javascript
复制
<%@taglib prefix="liferay-ui" uri="http://liferay.com/tld/ui" %>

<liferay-ui:breadcrumb/>

使portlet成为可配置的

一种简单的实现是使您的portlet可配置。管理员将能够配置是否显示每个portlet实例的面包屑。详情请参见Implementing Configurable Portlet Preferences

或者...使用嵌套Portlet Portlet

您还可以使用Nested Portlets Portlet来实现可变性。将嵌套的Portlet Portlet放到页面中,使用合适的布局模板(1列,2列,...)并将Breadcrumbs portlet放在portlet的上方/旁边,就在您需要的地方。

代码语言:javascript
复制
 ----------------------
| Breadcrumbs portlet  |
|----------------------|
| Your portlet         |
 ----------------------

就我个人而言,我非常喜欢嵌套的Portlet Portlet--但只针对一小部分问题。通常我更喜欢其他的解决方案,比如让portlet成为可配置的。

然后...

这取决于你的需求--也许你根本不需要嵌套。仅仅将portlet一个放在另一个的上方/旁边还不够吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33121702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档