2011-06-24 2 views
2

ma question concerne Liferay hooks et portlets 6.0.inclure le port de Liferay jsps du crochet

J'ai un crochet avec jsps sur les portlets liferay. par exemple. document_library/view.jsp - testé - fonctionne bien. (J'ai custom-jsp-dir set etc.)

Maintenant, je veux créer mon portlet dans ce hook, qui à la fin rend le document_library/view.jsp du hook.

Mais j'obtiens l'erreur:

org.apache.jasper.JasperException: /WEB-INF/html/portlet/document_library/view.jsp(17,1) File "/html/portlet/document_library/init.jsp" not found 

Je n'ai pas créé init.jsp - Je veux que ce crochet à utiliser Liferay document_library original.

Pouvez-vous m'aider?

Je demande aussi ici http://www.liferay.com/community/forums/-/message_boards/message/9583788

Merci

Répondre

3

Réponse courte: Vous ne pouvez pas. Motif: Les JSP provenant d'un répertoire custom-jsp hooks seront copiées sur le portail. Elles s'exécuteront donc dans le chargeur de classe de liferay. Votre portlet fonctionnera cependant dans le classloader de votre plugin, donc n'a pas accès aux jsps de liferay. Les JSP dans les hooks (ceux qui sont déclarés en tant que jsps personnalisés pour le portail) ne peuvent pas être utilisés à partir de portlets dans le même plug-in. C'est par conception, vous ne pouvez pas contourner cela autrement qu'en les copiant à un chemin où votre portlet peut les atteindre.

En guise de meilleure pratique, je conseillerais de créer un crochet pour les modifications de Liferay et un plugin de portlet séparé avec de nouveaux portlets (supplémentaires). Rendez les portlets autonomes. Il y a des situations où il est bon de combiner des crochets et des portlets, mais je préfère que les modifications et les ajouts soient séparés.