Your SlideShare is downloading. ×
0
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
4. Liferay JSP Portlets
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

4. Liferay JSP Portlets

11,823

Published on

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.

Published in: Technology
3 Comments
20 Likes
Statistics
Notes
  • Install CutePDF and right click to print it
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • ác
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Enable download please.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
11,823
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
1
Comments
3
Likes
20
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. customizando o JSP Portlets by http://www.flickr.com/photos/dejay181/460664432/in/set-72157594529615566/ 1 Monday, November 16, 2009
  • 2. 2 Monday, November 16, 2009
  • 3. 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
  • 4. Portlets revisão Monday, November 16, 2009
  • 5. 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
  • 6. /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
  • 7. Utilização do portlet 7 Monday, November 16, 2009
  • 8. Importação do projeto do portlet 8 Monday, November 16, 2009
  • 9. um pacote WAR de portlets contém... my-portlet.war Classes + Recursos + Descritor 9 Monday, November 16, 2009
  • 10. 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
  • 11. Portlets têm modos definem a função do portlet no instante 11 Monday, November 16, 2009
  • 12. Portlets têm estados definem o tamanho da tela que estão ocupando 12 Monday, November 16, 2009
  • 13. Portlet API 13 Monday, November 16, 2009
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. JSP Portlets a forma de portlet mais simples Monday, November 16, 2009
  • 19. Nosso portlet... 16 Monday, November 16, 2009
  • 20. ...suporta apenas o modo View, através da página view.jsp 17 Monday, November 16, 2009
  • 21. Fragmento de HTML gerado por view.jsp 18 Monday, November 16, 2009
  • 22. 19 Monday, November 16, 2009
  • 23. <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
  • 24. <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
  • 25. Criamos a página edit.jsp para o modo Edit do portlet 22 Monday, November 16, 2009
  • 26. Fazemos o deploy do portlet... 23 Monday, November 16, 2009
  • 27. Modo Edit habilitado... 24 Monday, November 16, 2009
  • 28. ...e funcionando 25 Monday, November 16, 2009
  • 29. Geralmente, o modo Edit é utilizado para se fazer configurações do portlet. Logo, façamos algo interessante. 26 Monday, November 16, 2009
  • 30. Vamos modificar a página edit.jsp para simular um formulário simples de configuração 27 Monday, November 16, 2009
  • 31. Nosso formulário de configurações 28 Monday, November 16, 2009
  • 32. Evita o conflito de nomes na página do portal (lembre-se que este é apenas um fragmento de HTML) 29 Monday, November 16, 2009
  • 33. Qual URL deverá ser chamada no submit do formulário? 29 Monday, November 16, 2009
  • 34. De fato, não sabemos. o portlet é quem tem que nos dizer 30 Monday, November 16, 2009
  • 35. 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
  • 36. 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
  • 37. E modificar a página edit.jsp para que a action do formulário seja corretamente configurada 33 Monday, November 16, 2009
  • 38. Visualmente, nada mudou... 34 Monday, November 16, 2009
  • 39. <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
  • 40. 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
  • 41. Em portlets, submit de dados são tratados pelo método processAction() 37 Monday, November 16, 2009
  • 42. Vamos criar alguma lógica no processAction() 38 Monday, November 16, 2009
  • 43. Captura parâmetros da requisição 38 Monday, November 16, 2009
  • 44. Guarda valor enviado 38 Monday, November 16, 2009
  • 45. Redireciona portlet para seu modo View 38 Monday, November 16, 2009
  • 46. 39 Monday, November 16, 2009
  • 47. 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
  • 48. No JSP do modo View (view.jsp), recuperamos o valor disponibilizado pelo método doView. 41 Monday, November 16, 2009
  • 49. 42 Monday, November 16, 2009
  • 50. 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
  • 51. It’s up to you! http://www.flickr.com/photos/shutter/105497713/ 44 Monday, November 16, 2009
  • 52. Quer ajuda? o/ sea@seatecnologia.com.br 45 Monday, November 16, 2009
  • 53. Q&A Monday, November 16, 2009

×