0

我正在尝试开发一个 jsf portlet(primefaces 3.2)

我创建了一个 jsf portlet,我在其中显示了一个数据表。在我的数据表中,有一个按钮。

现在,当我单击该按钮时,应该会打开一个 jsp 页面。它实际上不起作用。

我正在尝试使用这种方式来实现它。

<div style="text-align:right">
                        <p:lightBox iframe="true" width="1000" height="840">
                            <h:outputLink
                             value="./next.jsp">
                                <p:commandButton value="Add" icon="ui-icon ui-icon-plusthick" style="margin:3px;display: table-cell;vertical-align: middle;"/>
                            </h:outputLink>
                        </p:lightBox>
                    </div>

我当前的 portletViewMode.xhtml(portlet 显示页面)和 next.jsp 存在于 portlet 中(在 xhtml 文件夹中)。

它是一个 jsf 视图(portletViewMode.xhtml),它在您创建 jsf-portlet 时创建,在该视图中我显示了一个数据表,里面有一个按钮。

当我单击该按钮时,我应该能够导航到充当灯箱的 jsp 页面。因此,如果我关闭,我应该能够看到我以前的 jsf 视图。

所以我试图在按钮(这是一个 jsf 组件)的操作上从 jsf 视图导航到另一个 jsp 页面。

我应该为此做些什么?有没有人尝试从 jsf 视图导航到任何其他页面。?

4

1 回答 1

1

p:lightBox以错误的方式使用。

关于 Primefaces 主页上的示例,您应该使用p:lightBoxwithiframe="true"来显示页面内容。

h:commandButton用an 包裹 anh:outputLink并不是最优雅的解决方案。您可以使用简单的h:button,但它也适用于h:commandButton

<p:lightBox iframe="true">
    <h:outputLink value="page2.xhtml"  >  
        <h:commandButton action="#" value="Next page" />  
    </h:outputLink>  
</p:lightBox>

注意 iFrame 的内容需要value进入h:outputLink.

此外,JSP 和 Primefaces 将无法工作。仅使用 facelets。

于 2012-04-30T10:46:18.047 回答