我有Vaadin portlet的Liferay项目。
我想在我的按钮上添加图标。
Button search = new Button("Search");
search.setIcon(new ThemeResource("img/silk/add.png"));
但不知道我会把它放在哪里?现在我将它放在docroot
目录中。
更新
不,我试试这个。
Button search = new Button("Search");
search.setIcon(new ThemeResource("LifeRayVaadin-portlet/icons/add.png"));
但是当我在console get中重新部署项目时
09:34:05,773 WARN [404_jsp:109] /html/VAADIN/themes/liferay/LifeRayVaadin-portlet/icons/add.png
答案 0 :(得分:4)
所以你的portlet正在寻找/html/VAADIN/themes/liferay/LifeRayVaadin-portlet/icons/add.png
中的图标。
您可以在icons
下创建目录VAADIN
并致电:
search.setIcon(new ThemeResource("../../icons/add.png"));
没有任何路径的 ThemeResource
会在VAADIN/themes/yourtheme/
路径中查找该文件,因此../../
会将您(在这种情况下)转到/VAADIN/
。我个人永远不会硬编码项目中主题或portlet的名称,因为当它发生变化时,你必须经历每个引用并更改它们。
答案 1 :(得分:1)
您可以将图片放在$ PORTLET-NAME / docroot / icons目录中,并使用路径调用它们
/$PORTLET-NAME$/icons/add.png
在你的情况下它将是
Button search = new Button("Search");
search.setIcon(new ThemeResource("/$PORLTET-NAME$/icons/add.png"));