2012-10-03 5 views
3

J'ai un projet Liferay avec le portlet Vaadin.Vaadin, où mettre des images?

Je veux ajouter une icône à mes boutons.

Button search = new Button("Search"); 
    search.setIcon(new ThemeResource("img/silk/add.png")); 

Mais ne savez pas où je vais le mettre? Maintenant, je l'ai mis dans le répertoire docroot.

MISE À JOUR

Non, j'essayer.

Button search = new Button("Search"); 
    search.setIcon(new ThemeResource("LifeRayVaadin-portlet/icons/add.png")); 

Mais quand je redéployer projet dans la console se

09:34:05,773 WARN [404_jsp:109] /html/VAADIN/themes/liferay/LifeRayVaadin-portlet/icons/add.png 

Répondre

4

Votre portlet recherche donc les icônes dans /html/VAADIN/themes/liferay/LifeRayVaadin-portlet/icons/add.png.

Vous pouvez créer un répertoire icons sous VAADIN et appelez:

search.setIcon(new ThemeResource("../../icons/add.png")); 

ThemeResource sans chemin va chercher le fichier dans le chemin VAADIN/themes/yourtheme/ et donc ../../ vous obtiendrez (dans ce cas) à /VAADIN/. Personnellement, je ne coderais jamais en dur le nom d'un thème ou d'un portlet dans un projet, car quand il change, vous devez passer en revue toutes les références et les modifier.

+0

Je n'ai pas le répertoire 'VAADIN' dans le projet Liferay. –

+0

Etes-vous sûr? Je viens de télécharger Liferay 6.1 et j'ai trouvé le répertoire VAADIN dans liferay-portal-6.1.1-ce-ga2/tomcat-7.0.27/webapps/ROOT/html /. C'est absolument nécessaire car il contient les widgetsets et les thèmes pour les portlets Vaadin. – miq

+0

Désolé, je suis un peu aveugle. –

1

Vous pouvez mettre vos images en $ PORTLET-NOM/docroot/icônes répertoire et les appeler en utilisant le chemin

/$PORTLET-NAME$/icons/add.png 

dans votre cas, ce sera

Button search = new Button("Search"); 

    search.setIcon(new ThemeResource("/$PORLTET-NAME$/icons/add.png")); 
+0

'$ PORLTET-NAME $' c'est le nom du projet? –

+0

Oui, vous pouvez également l'appeler comme nom de dossier lorsqu'il est déployé sur le serveur d'applications. par exemple j'ai Liferay tomcat bundle, mon nom de portlet est test-portlet. Quand je vérifie Tomcat/webapps/je l'ai comme "test-portlet" et je peux accéder aux images sous /test-portlet/icons/add.png. – Sharana

+0

Je le fais mais rien heppens. Je vois le répertoire des icônes dans le répertoire du portlet dans Tomcat mais je ne le vois pas dans le bouton. Où je peux échouer? –