我已经下载了一个Jquery Image Slider源代码,想要与我的JSP文件进行整合
这是我的Folder Struture
这就是我包括他们的方式
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<link type="text/css" href="/css/jquery.ui.theme.css" rel="stylesheet" />
<link type="text/css" href="/css/jquery.ui.core.css" rel="stylesheet" />
<link type="text/css" href="/css/jquery.ui.slider.css" rel="stylesheet" />
<link rel="stylesheet" href="/css/style.css" type="text/css" media="screen"/>
我在服务器控制台中获得了这个404
20:50:04,625 WARN [404_jsp:109] /css/jquery.ui.theme.css
20:50:04,640 WARN [404_jsp:109] /css/jquery.ui.core.css
20:50:04,640 WARN [404_jsp:109] /css/jquery.ui.slider.css
20:50:04,656 WARN [404_jsp:109] /css/style.css
20:50:04,671 WARN [404_jsp:109] /js/cufon-yui.js
20:50:04,671 WARN [404_jsp:109] /js/GreyscaleBasic.font.js
20:50:04,687 WARN [404_jsp:109] /js/jquery.easing.1.3.js
答案 0 :(得分:10)
将链接放在liferay-portlet.xml
中,让Liferay加载css和javascript。这是更好的方法(例如,如果用户想要将两个portlet放到一个页面上)。
的liferay-portlet.xml中:
<header-portlet-css>/css/main.css</header-portlet-css>
<footer-portlet-javascript>/js/main.js</footer-portlet-javascript>
Olaf是对的,您必须将css和js文件夹(以及图片也从WEB-INF
移动到docroot
文件夹
答案 1 :(得分:7)
几个问题:
如果您创建docroot / css和docroot / js,您仍然会获得404,因为您无法在/css/style.css上找到文件,但在/ your-portlet / css / style中。 css - 在jsps中解决它的一般方法是
< link rel="stylesheet" href="<%=request.getContextPath()%>/css/style.css"/>
后期编辑:portlet的JSP上的request
并不总是有效,因为根据JSP规范,它是一个HttpServletRequest。在门户网站中,这通常与您的portlet的当前路径无关。因此,我建议使用Mark的答案而不是我的答案:liferay-portlet.xml包含与当前portlet相关的文件。从Liferay 7.0开始,您可以使用OSGi-Component等效于liferay-portlet.xml。