portlet中的确认对话框

时间:2013-08-06 07:25:44

标签: java jsp portlet

我正在尝试在Liferay portlet中实现一个确认对话框,当用户点击触发 actionRequest 的链接时,该对话框会显示。

但是,似乎portlet容器没有GUI,所以我得到java.awt.HeadlessException

这是与我的 JSP 页面相关的部分:

<li><a href="<%=deleteDatabase%>">Delete messages from database</a></li>

<portlet:actionURL var="deleteDatabase" name="deleteDatabase">
    </portlet:actionURL>

Java portlet类:

public void deleteDatabase(final ActionRequest actionRequest,
            final ActionResponse actionResponse) throws IOException,
            PortletException {

        int dialogResult = JOptionPane.showConfirmDialog(null,
                "Would You Like to delete all messages?", "Warning",
                JOptionPane.YES_NO_OPTION);
        if (dialogResult == JOptionPane.YES_OPTION) {
            // do some stuff here
        }

    }

也许我不会尝试在java中实现对话但是将其移动到JSP并使用javascript或者我应该以其他方式执行...可以请给我一个提示如何在Java或show中解决此异常我可以使用actionURL的示例代码?非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

检查您的进口。

您正在使用Swing中的JOptionPane

您可以将Swing作为本地应用程序运行。但是,portlet正在服务器上运行,因此无法通过WebBrowser向客户端呈现本地应用程序。

您可以查看提供一些对话功能的jQuery等Javascript库。这些将由用户浏览器执行。