在ALLOY DIALOG中渲染JSP

时间:2010-10-19 07:05:52

标签: liferay

我在Liferay 6.0.5中使用ALLOY DIALOG如下:

function countPopup(){

AUI().use('aui-dialog', 'liferay-portlet-url', function(A) {

        var dialog = new A.Dialog({
        title: 'Upload Details',
        centered: true,
        modal: true,
        width: 500,
        height: 400,
        bodyContent:"testing",

        }).render();

    });

}

我正在进行弹出式“测试”。但是,我想转发到一个jsp文件而不是“bodycontent”,我写了一些逻辑。怎么做?

2 个答案:

答案 0 :(得分:3)

您必须“插入”另一个模块,以便为所需文章提供a.Dialog。 试试这样的:

AUI().use('aui-dialog', 'aui-io', function(A) {

    var dialog = new A.Dialog({
    title: 'Upload Details',
    centered: true,
    modal: true,
    width: 500,
    height: 400,
    }).plug(A.Plugin.IO, {uri: 'your_url.html'}).render();

});

答案 1 :(得分:0)

我知道回答这个问题已经太晚了,但这是解决方案。

<%

User selUser = (User)request.getAttribute("user.selUser");
PortletURL popupURL = renderResponse.createRenderURL();
popupURL.setWindowState(LiferayWindowState.POP_UP);
popupURL.setParameter("jspPage","Your jsp page path here"); 
String popup = "javascript:xyzPopUp('"+ popupURL.toString() + "');";%>


<aui:script>
Liferay.provide(
    window,
    'xyzPopUp',
    function(url) {
        var A = AUI();  
        var portletURL="<%=themeDisplay.getURLManageSiteMemberships().toString()%>";
        var dialog = new A.Dialog(
            {
                modal: true,
                centered: true,
                destroyOnClose: true,
                draggable: true,
                height: 150,
                resizable: false,
                title: 'your title here',
                width: 200
            }
        ).plug(
            A.Plugin.IO,
                {
                    uri:url
                }
        ).render();
    },
    ['aui-dialog']
); 
</aui:script>

这将打开给定的jsp页面以进行弹出。