Je transfère mon application Spring MVC Servlet pour qu'elle soit compatible avec le déploiement dans Liferay. Je convertis l'application en un portlet Spring MVC. Mon application utilise html + javascript comme interface. Suis incapable d'importer des fichiers .js ou .css dans mon index.html maintenant parce que les URL relatives ne fonctionnent pas. Toute aide à cet égard?Portail MVC Liferay-Spring important plusieurs fichiers .js
Répondre
Vos références sont liés à vos références de contexte d'application web, ce qui est normalement le contexte ROOT portail y compris l'instance de portlet et d'autres constructions dépendantes (le thème lié LR) dans ce cas et pas le portlet (votre application) contexte que vous assumez. Ainsi, la solution consiste à utiliser une variable globale spécifique à l'instance de portail avec le préfixe devant vos définitions de chemin. Pour ce faire, vous devez construire ce chemin avant de rendre le contenu de votre page HTML. Ceci est généralement réalisé en utilisant certaines classes d'utilitaires Liferay, par ex. en cas d'un JSP comme celui-ci:
<link href="<%= PortalUtil.getStaticResourceURL(request, request.getContextPath() + "/css.jsp", portlet.getTimestamp()) %>"
Apparemment, au cas où vous ne disposez pas de script côté serveur comme le JSP (BTW que je pense est pas une bonne idée), vous devez résoudre ce en utilisant une autre Java facilité de couche pour écrire dans votre code HTML avant qu'il ne soit rendu par le navigateur.
C'est exactement ce que mon problème est. J'ai le frontal html pur et donc je ne peux pas utiliser les balises JSP etc. Le portage de l'implémentation de FE vers JSP est trop lourd en ce moment et j'essaie de trouver une solution à ma situation. Pure HTMl + Spring et j'ai besoin d'accéder aux ressources dans le portlet. Plus d'aide concernant l'injection de la valeur de Java? Je vous remercie. – user1587865
HTML n'est pas un langage dynamique côté serveur! Vous utilisez des langages dynamiques côté serveur pour générer le code HTML qui est ensuite rendu par le navigateur du côté client. => Vous ne pouvez pas "injecter" dedans! Ce que vous pouvez faire est d'utiliser du code JavaScript dans votre HTML pour récupérer ces valeurs du côté du serveur pendant le processus de rendu. Regardez cela autour de la section JavaScript pour voir comment accéder aux services http://www.liferay.com/documentation/liferay-portal/6.1/user-guide/-/ai/accessing-liferay-services –
Par Inject, je voulais dire demander un moyen par lequel je peux obtenir les valeurs de Java dans mes fichiers js. Peut-être comme un appel de service au BE. Je pense que le lien que vous avez fourni m'aidera. Je vais explorer dans ces lignes et mettra à jour en arrière. Je vous remercie. – user1587865
Si vous fournissez l'emplacement des fichiers javascript et css dans votre fichier liferay-portlet.xml
, il sera automatiquement ajouté. Vous n'avez pas à ajouter explicitement la même chose dans votre fichier html/jsp.
dans votre liferay-portlet.xml, veuillez ajouter les attributs suivants avec le bon chemin de fichier.
<header-portlet-css>/css/main.css</header-portlet-css>
<header-portlet-javascript>/js/main.js</header-portlet-javascript>
Aussi, si vous souhaitez accéder à toutes les ressources statiques comme l'image ou quoi que ce soit d'autre, vous pouvez utiliser le chemin comme celui-ci
<img src='<%=request.getContextPath()%>/images/gear.png' class='settings' />
où la structure est comme ce
-portlet --- docroot ------ images -------- gear.png
Oui .. Cela fonctionne, mais je voulais accéder à toutes ces ressources statiques .. images etc. – user1587865
réponse éditée .. :) –
- 1. Portail MVC de printemps et portail Weblogic
- 2. MVC problème délicat avec les fichiers .js
- 3. Spring MVC intégration fichiers js et css
- 4. dropzone js télécharger plusieurs fichiers incohérents
- 5. MVC 5 zones pour portail web
- 6. asp.net mvc et portail comme la fonctionnalité
- 7. ASP.NET MVC Agrégation CSS/JS à partir de plusieurs contrôleurs
- 8. Meilleure approche d'un portail client dans ASP.NET MVC
- 9. Télécharger plusieurs fichiers avec ASP.NET MVC
- 10. ASP.NET MVC 2: Où mettre les fichiers JS personnalisés?
- 11. Auto-versioning dans ASP.NET MVC pour les fichiers CSS/JS?
- 12. Java Script MVC steal/buildjs - supprime les fichiers .js vides
- 13. Gestion de fichiers js et css dans ASP.NET MVC
- 14. Fichiers audio ASP.NET MVC Play
- 15. Contrôle de version sur un nombre important de fichiers XML
- 16. Flow Js - upload de fichiers en tableau
- 17. comprennent plusieurs fichiers js en utilisant la fonction Ti.include
- 18. Compresser et fusionner plusieurs fichiers JS à l'aide de Shrinksafe
- 19. Jquery pageLoad() ne fonctionne pas dans plusieurs fichiers js
- 20. combiner plusieurs fichiers CSS ou JS dans OpenCart
- 21. Charger plusieurs fichiers JS après le chargement de la page
- 22. Chargement de plusieurs fichiers CSS, images et js dans CodeIgniter
- 23. Comment gérer plusieurs fichiers JS côté serveur avec Node.js
- 24. comment résoudre plusieurs js problème de conflit de fichiers
- 25. Cachebusting en utilisant grunt pour plusieurs fichiers js
- 26. Travailler avec plusieurs modules dans différents fichiers en Angulaire js
- 27. Comment diviser des composants js réagir en plusieurs fichiers
- 28. HTML5/JS - Affichage de plusieurs entrées de fichiers dans div
- 29. Ajout de plusieurs fichiers js dans l'en-tête
- 30. Portail PHP similaire au portail Java
s'il vous plaît montrez-moi la structure de votre projet web, et l'emplacement de y nos pages html –