我是利用pulgin方式开发的(就是用pulgin SDK方式进行开发)在开发过程中,发现图片的url定义有点奇怪.例如现在开发一portlet:
名字: test
deploy到liferay后在tomcat中的webapps下的文件夹:test-portlet
组织结构如下:
test-portlet
|_js
| |_xxx1.js
| |_xxx2.js
|
|_images
| |_yyy1.jpg
| |_yyy2.jpg
|
|_css
| |_zzz1.css
| |_zzz2.css
|
|_META-INF
|_WEB-INF
|_view.jsp
那么在view.jsp中
用include去引入文件时,可以将test-portlet作为根目录看待,如:
...
<style type="text/css">
<%@ include file="/css/zzz1.css" %>
<%@ include file="/css/zzz2.css" %>
</style>
...
...
<style type="text/javascript">
<%@ include file="/js/xxx1.js" %>
<%@ include file="/js/xxx2.js" %>
</style>
...
等,都不会在deploy,浏览时发生错误.
但是对于图片则不一样,不论是在page上用<img>,还是在css中用url(),都必须带上test-portlet,否则将找不到图片:
正确:
...
background: url(/test-portlet/images/yyy1.jpg) -64px -25px no-repeat;
...
...
<img src="/test-portlet/images/yyy1.jpg" />
...
出错:
...
background: url(/images/yyy1.jpg) -64px -25px no-repeat;
...
...
<img src="/images/yyy1.jpg" />
...
我怀疑是跟liferay本身的设置有关系,没准就是在portal.properties文件中,不过最近压力较大,要赶任务,先留记录,日后再来研究