2013-08-06 2 views
0

Я пытаюсь реализовать диалог подтверждения в портлете Liferay, который будет отображаться, когда пользователь нажимает на ссылку, запускающую actionRequest.Диалог подтверждения в портлете

Тем не менее, кажется, что контейнер портлетов не имеет графического интерфейса, так что я получаю java.awt.HeadlessException

Это часть отношение к моей JSP страницы:

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

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

Java класса портлета :

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 
     } 

    } 

Возможно, я не пытаюсь внедрить t в диалоговом окне java, но переместите его в JSP и используйте javascript, или я должен сделать это другим способом. Можете ли вы дать мне подсказку, как решить это исключение в Java или показать мне пример кода, который будет работать с actionURL? Большое спасибо за любую помощь!

ответ

0

Проверьте ваш импорт.

Вы используете JOptionPane у Swing.

Вы можете запускать Swing в качестве локальных приложений. Однако портлет работает на сервере и поэтому не может отображать локальное приложение для ваших клиентов через WebBrowser.

Вы можете проверить библиотеки Javascript, такие как jQuery, которые предлагают некоторые функции диалога. Они будут выполняться браузерами пользователей.

Смежные вопросы