如果 WSRP portlet 显示的 jsp 页面引用了引用图像的 css 文件,则无法加载图像,因为无法找到 css 中的 url。css 中的 url 是一个相对的:../images/image.gif。
我的问题的详细信息
我开发了一个 JSR168 portlet(Java Portlet Standard),我想将它部署到 Oracle WebCenter 11g(在其他 JSR 投诉门户服务器中)
我的 portlet 显示了一个引用 css 文件的 jsp,而这个 css 引用了一些图像。所有这些资源(图像、css、jsps 等)都包含在我的 portlet 的 war 文件中。
当我在 WebCenter 页面中加载 portlet 时,css 文件已正确加载,但此 css 文件引用的图像却没有。
The reason is that to generate the css, WebCenter generates a long url: http://localhost:8888/webcenter/resourceproxy/~.portletId~3D~252Foracle~252Fadf~252Fportlet~252FscopedMD~252Fs8bba98ff_4cbb_40b8_beee_296c916a23ed~252Fportlets~252Fclients3_366e85fa_e823_48ac_b37a_9890375111ab~26clientId .. . (它的方式更长)
但是在这个 css 文件中,有图像的相对路径。当浏览器尝试加载它们时,网址是: http://localhost:8888/webcenter/resourceproxy/img/sprite.png 不存在。
我该怎么做才能使 WebCenter 正确加载我的 css 文件中的图像?
我如何将我的 portlet 部署到 Oracle WebCenter 中我对此进行了解释,以防我应该以不同的方式进行。
我通过执行 java -jar wsrp-predeploy.jar 源 EAR 目标 EAR 将我的 portlet 转换为 WSRP portlet,如http://download.oracle.com/docs/cd/E12839_01/webcenter.1111/e12405/wcadm_portlet_prod 中所述。 htm#CHDECJHI )
我使用 WebLogic 控制台将它部署到 WebLogic 中。
我使用 Enterprise Manager 11g Fusion MiddleWare Control 注册了一个 Portlet Producer。
我将 portlet 添加到 WebCenter Spaces 的主页
我的环境
WebCenter 套件 (11.1.1.2.0) + WebLogic Server (10.3.2) SO:Windows XP SP3
在此先感谢您的时间。