2011-12-27 6 views
0

Я использую Liferay 6. Я разработал простой портлет Liferay Struts2. Этот портлет получил развернутые в:Как получить доступ к странице портлета вручную?

D: \ Liferay \ Liferay Tomcat \ Liferay-портал-6.1.0-Ce-b4 \-Tomcat 7.0.22 \ WebApps

С именем ПриветствиеПортлет-портлет. Этот портлет состоит из страницы JSP, называемой View.jsp внутри портлета GreetingPortlet.

Скажите, пожалуйста, как мы можем получить доступ к этим вручную, введя URL в браузере

Другими словами, мы можем получить доступ к нему, набрав следующее?

http: localhost: 8086/GreetingPortlet/view.jsp ??

Я не пользуюсь какой-либо дружественной концепцией URL.

+1

Вы не должны получать доступ к представлениям портлета напрямую. вы можете добавить портлет на страницу, чтобы контейнер решил, что нужно показывать. – soulcheck

+0

Спасибо, soulcheck. – Pawan

ответ

1

не может получить доступ к портлету, который только что развернут и не добавлен на любую страницу.

  • Portlets не Servlets, что после развертывания и обеспечить отображение в web.xml она станет доступной.
  • В портале имеется доступ к Page, а не к одному портлету. И портлет добавляется к функции page. Если портлет не добавлен на страницу, к нему нельзя получить доступ.

Так что вы можете сделать, это добавить портлет к Page, вы можете просто добавить один портлет на страницу, так что, когда вы идете на страницу URL вы будете видеть только портлет.

Если вы не хотите, чтобы пользователи просматривали страницу, вы можете добавить hidden page, чтобы ее можно было получить только в том случае, если URL-адрес известен, а затем проверить портлет на этой странице.


Редактировать (поразмыслив) :-)

Как Tobias Liefke отметил в comment (спасибо!), Мы можем отобразить содержимое определенного портлета, даже если он не добавляется на любой стр.

Вот что мы можем сделать:

  1. Мы можем иметь add-default-resource набор для true в liferay-portlet.xml портлета вы хотите получить доступ, в вашем случае Поздравь-портала.
  2. Вы должны были бы создать рендер-URL, чтобы отобразить страницу
  3. Если вы просто хотите, чтобы показать содержимое портлета, а не другие вещи, которые портал добавляет как CSS, Dockbar и т.д., а затем использовать exclusive как window- при создании рендеринга.
  4. Этот answer может помочь в ответе на открытие портлета во всплывающем окне, но будет работать одинаково, указав URL-адрес в адресной строке браузера.
+1

Я хотел бы добавить, что можно создать URL-адрес, который использует состояние окна 'pop_up' или' exclusive', если для параметра 'add-default-resource' установлено значение' true' в _liferay-portlet.xml_. –

+0

@TobiasLiefke \t Да, это можно сделать так же. Изменит ответ. Благодарю. Или еще лучше вы также можете написать свой собственный ответ :-) –

+0

Я надеялся, что вы отредактируете свой ответ ;-) –

0

У меня была точная пробная глупая проблема, и я не мог найти ответ нигде. Наконец я заметил, что панель управления liferay позволяет установить военный файл. Поэтому я экспортировал свой портлет в военный файл, а затем пошел в панель управления liferay -> приложения и установил его там, и что вы знаете, это сработало. Очень расстраивает!

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