我把jquery.js复制到了WebContent/js/jquery/jquery.js.现在我想在某些portlet中使用该文件.为此,我创建了一个liferay-portlet.xml,如下所示:
<?xml version="1.0"?>
<!DOCTYPE liferay-portlet-app PUBLIC
"-//Liferay//DTD Portlet Application 6.0.0//EN"
"http://www.liferay.com/dtd/liferay-portlet-app_6_0_0.dtd">
<liferay-portlet-app>
<portlet>
<portlet-name>MyPortletName</portlet-name>
<header-portal-javascript>/js/jquery/jquery.js</header-portal-javascript>
</portlet>
</liferay-portlet-app>
Run Code Online (Sandbox Code Playgroud)
如果我访问portlet,Liferay会生成以下行:
<script src="/js/jquery/jquery.js?browserId=firefox&minifierType=js&languageId=en_US&b=6100&t=1326630657000" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
这导致WARN [404_jsp:?] /js/jquery/jquery.js在日志记录控制台中.
URL看起来是否正确?如果我有两个war文件,都包含一个具有相同路径的js文件,Liferay将如何区分这两个?
我需要做些什么才能使我的设置正常工作?
使用Liferay Portal Community Edition 6.1.0 CE(Paton/Build 6100/2011年12月15日)
Squ*_*oot 11
使用
<header-portlet-javascript>/js/jquery/jquery.js</header-portlet-javascript>
Run Code Online (Sandbox Code Playgroud)
而不是
<header-portal-javascript>/js/jquery/jquery.js</header-portal-javascript>
Run Code Online (Sandbox Code Playgroud)
如果你把js文件放入portlet
因为关于DTD中的注释,header-portal-javascript设置JavaScript相对于门户的上下文路径的路径.header-portlet-javascript设置JavaScript相对于portlet上下文路径的路径.