• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
4. Liferay JSP Portlets
 

4. Liferay JSP Portlets

on

  • 13,427 views

JSP Portlets é a forma mais simples de se criar portlets no Liferay Portal. Estes slides, parte do curso de Liferay ministrado pela SEA Tecnologia, ilustram sua criação e detalha algumas de suas ...

JSP Portlets é a forma mais simples de se criar portlets no Liferay Portal. Estes slides, parte do curso de Liferay ministrado pela SEA Tecnologia, ilustram sua criação e detalha algumas de suas estruturas internas.

Statistics

Views

Total Views
13,427
Views on SlideShare
12,447
Embed Views
980

Actions

Likes
20
Downloads
1
Comments
3

15 Embeds 980

http://www.seatecnologia.com.br 453
http://blog.seatecnologia.com.br 320
http://www.slideshare.net 150
http://www.techgig.com 28
https://www.seatecnologia.com.br 11
http://pinterest.com 4
http://seatecnologia.com.br 3
http://tekgig.in 3
http://webcache.googleusercontent.com 2
http://static.slidesharecdn.com 1
https://home.jolicloud.com 1
http://115.112.206.131 1
https://blog.seatecnologia.com.br 1
http://extranet.grt.com.br 1
http://portal.seatecnologia.com.br 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

13 of 3 previous next Post a comment

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Install CutePDF and right click to print it
    Are you sure you want to
    Your message goes here
    Processing…
  • ác
    Are you sure you want to
    Your message goes here
    Processing…
  • Enable download please.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    4. Liferay JSP Portlets 4. Liferay JSP Portlets Presentation Transcript

    • customizando o JSP Portlets by http://www.flickr.com/photos/dejay181/460664432/in/set-72157594529615566/ 1 Monday, November 16, 2009
    • 2 Monday, November 16, 2009
    • O Liferay possui diversos níveis de customização Customização Liferay Extension Código Plugins Environment Fonte Portlets Temas Layouts 3 Monday, November 16, 2009
    • Portlets revisão Monday, November 16, 2009
    • Criação do portlet /liferay/liferay-plugins-sdk-5.2.3/portlets $ ./create.sh hello-liferay "Hello Liferay" Buildfile: build.xml create: [unzip] Expanding: /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-sdk-5.2.3/ portlets/portlet.zip into /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins- sdk-5.2.3/portlets/hello-liferay-portlet [mkdir] Created dir: /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins- sdk-5.2.3/portlets/hello-liferay-portlet/docroot/WEB-INF/tld [copy] Copying 6 files to /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins- sdk-5.2.3/portlets/hello-liferay-portlet/docroot/WEB-INF/tld BUILD SUCCESSFUL Total time: 6 seconds 5 Monday, November 16, 2009
    • /liferay/liferay-plugins-sdk-5.2.3/portlets/hello-liferay-portlet $ ant deploy Buildfile: build.xml compile: merge: Deploy do [javac] Compiling 1 source file to /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins- sdk-5.2.3/portlets/hello-liferay-portlet/docroot/WEB-INF/classes portlet merge: war: [mkdir] Created dir: /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-sdk-5.2.3/dist clean-portal-dependencies: [zip] Building zip: /Volumes/Data/Documents/sea/edu/liferay/apps/liferay-plugins-sdk-5.2.3/dist/ hello-liferay-portlet-5.2.3.1.war deploy: [copy] Copying 1 file to /liferay/liferay-portal-5.2.3/deploy BUILD SUCCESSFUL Total time: 24 seconds 6 Monday, November 16, 2009
    • Utilização do portlet 7 Monday, November 16, 2009
    • Importação do projeto do portlet 8 Monday, November 16, 2009
    • um pacote WAR de portlets contém... my-portlet.war Classes + Recursos + Descritor 9 Monday, November 16, 2009
    • Descritores podem ser... Padrões web.xml portlet.xml my-portlet.war Proprietários liferay-portlet.xml liferay-display.xml 10 Monday, November 16, 2009
    • Portlets têm modos definem a função do portlet no instante 11 Monday, November 16, 2009
    • Portlets têm estados definem o tamanho da tela que estão ocupando 12 Monday, November 16, 2009
    • Portlet API 13 Monday, November 16, 2009
    • O mais comum, entretanto, é o uso da classe GenericPortlet, que ‘substitui’ o método render por outros 3 métódos doView, doEdit e doHelp 14 Monday, November 16, 2009
    • O mais comum, entretanto, é o uso da classe GenericPortlet, que ‘substitui’ o método render por outros 3 métódos doView, doEdit e doHelp Invocado para renderização do portlet no modo View 14 Monday, November 16, 2009
    • O mais comum, entretanto, é o uso da classe GenericPortlet, que ‘substitui’ o método render por outros 3 métódos doView, doEdit e doHelp Invocado para renderização do portlet no modo Edit 14 Monday, November 16, 2009
    • O mais comum, entretanto, é o uso da classe GenericPortlet, que ‘substitui’ o método render por outros 3 métódos doView, doEdit e doHelp Invocado para renderização do portlet no modo Help 14 Monday, November 16, 2009
    • JSP Portlets a forma de portlet mais simples Monday, November 16, 2009
    • Nosso portlet... 16 Monday, November 16, 2009
    • ...suporta apenas o modo View, através da página view.jsp 17 Monday, November 16, 2009
    • Fragmento de HTML gerado por view.jsp 18 Monday, November 16, 2009
    • 19 Monday, November 16, 2009
    • <portlet> <portlet-name>hello-liferay</portlet-name> <display-name>Hello Liferay</display-name> <portlet-class>com.sample.jsp.portlet.JSPPortlet</portlet-class> <init-param> <name>view-jsp</name> <value>/view.jsp</value> </init-param> <init-param> <name>edit-jsp</name> <value>/edit.jsp</value> </init-param> (...) <supports> Vamos <mime-type>text/html</mime-type> acrescentar <portlet-mode>view</portlet-mode> também o <portlet-mode>edit</portlet-mode> suporte o modo </supports> (...) Edit 20 Monday, November 16, 2009
    • <portlet> <portlet-name>hello-liferay</portlet-name> <display-name>Hello Liferay</display-name> <portlet-class>com.sample.jsp.portlet.JSPPortlet</portlet-class> <init-param> <name>view-jsp</name> <value>/view.jsp</value> Quando mais de </init-param> um modo é <init-param> suportado pelo <name>edit-jsp</name> portlet, é preciso <value>/edit.jsp</value> especificá-los </init-param> (...) <supports> <mime-type>text/html</mime-type> <portlet-mode>view</portlet-mode> <portlet-mode>edit</portlet-mode> </supports> (...) 21 Monday, November 16, 2009
    • Criamos a página edit.jsp para o modo Edit do portlet 22 Monday, November 16, 2009
    • Fazemos o deploy do portlet... 23 Monday, November 16, 2009
    • Modo Edit habilitado... 24 Monday, November 16, 2009
    • ...e funcionando 25 Monday, November 16, 2009
    • Geralmente, o modo Edit é utilizado para se fazer configurações do portlet. Logo, façamos algo interessante. 26 Monday, November 16, 2009
    • Vamos modificar a página edit.jsp para simular um formulário simples de configuração 27 Monday, November 16, 2009
    • Nosso formulário de configurações 28 Monday, November 16, 2009
    • Evita o conflito de nomes na página do portal (lembre-se que este é apenas um fragmento de HTML) 29 Monday, November 16, 2009
    • Qual URL deverá ser chamada no submit do formulário? 29 Monday, November 16, 2009
    • De fato, não sabemos. o portlet é quem tem que nos dizer 30 Monday, November 16, 2009
    • A classe GenericPortlet disponibiliza 3 métódos de renderização de portlet doView, doEdit, doHelp ...que são chamados antes do portlet entrar em um modo específico 31 Monday, November 16, 2009
    • Portanto, vamos modificar o método doEdit para que a URL a ser utilizada pelo formulário de edit.jsp seja previamente disponibilizada 32 Monday, November 16, 2009
    • E modificar a página edit.jsp para que a action do formulário seja corretamente configurada 33 Monday, November 16, 2009
    • Visualmente, nada mudou... 34 Monday, November 16, 2009
    • <form id="_helloliferay_WAR_helloliferayportlet_INSTANC E_S6Et_helloForm" action="http://localhost:8080/web/guest/home? p_p_id=helloliferay_WAR_helloliferayportlet_INSTA NCE_S6Et&p_p_lifecycle=1&p_p_state=normal&p_p_mod e=edit&p_p_col_id=column-2&p_p_col_pos=1&p_p_col_ count=2” method="post"> Nome: <input type="text" name="username" /> <input type="submit" value="Salvar" /> ...mas a action do formulário foi </form> configurada corretamente. 35 Monday, November 16, 2009
    • Já temos um portlet com suporte ao modo Edit. Temos um formulário para configuração do portlet. Só nos resta tratar a submissão do formulário 36 Monday, November 16, 2009
    • Em portlets, submit de dados são tratados pelo método processAction() 37 Monday, November 16, 2009
    • Vamos criar alguma lógica no processAction() 38 Monday, November 16, 2009
    • Captura parâmetros da requisição 38 Monday, November 16, 2009
    • Guarda valor enviado 38 Monday, November 16, 2009
    • Redireciona portlet para seu modo View 38 Monday, November 16, 2009
    • 39 Monday, November 16, 2009
    • No método doView, vamos recuperar o valor salvo nas preferências do portlet, e enviá-lo ao JSP view.jsp 40 Monday, November 16, 2009
    • No JSP do modo View (view.jsp), recuperamos o valor disponibilizado pelo método doView. 41 Monday, November 16, 2009
    • 42 Monday, November 16, 2009
    • Existem técnicas mais avançadas mas, com isso, 80% das portlets existentes (cadastros) podem ser desenvolvidos http://www.flickr.com/photos/dejay181/395737393/in/set-72157594529615566/ 43 Monday, November 16, 2009
    • It’s up to you! http://www.flickr.com/photos/shutter/105497713/ 44 Monday, November 16, 2009
    • Quer ajuda? o/ sea@seatecnologia.com.br 45 Monday, November 16, 2009
    • Q&A Monday, November 16, 2009